API自动化测试与持续集成

啄木鸟软件测试培训网:www.3testing.comgit

 目的github

  · 如何使用SuperTest测试框架,进行API测试npm

  · 如何将API测试与构建工具结合json

  · 如何将API测试、构建工具与持续集成结合gulp

  SuperTest微信

  什么是SuperTest框架

  To provide a high-level abstraction for testing HTTP,提供一个高级别的HTTP测试ide

  Github地址:SuperTestgrunt

  如何安装工具

  · 命令

  npm install supertest --save-dev

  · 样例

  describe('Test Demo.', function() {

  it('Visit URL', function(done) {

  request.get('')

  .expect(200)

  .end(done);

  });

  });

  · 样例原理:经过获取请求的结果,对请求结果进行验证。样例中的验证条件为返回的状态码为200。

  自动化API测试:Grunt & Gulp

  Grunt篇

  什么是Grunt

  · The JavaScript Task Runner,JavaScript的构建工具

  · 官网:Grunt

  安装

  · 命令

  npm install -g grunt-cli

  功能分析

  测试目的:请求https://github.com/aimer1124/SuperTestWithGrunt是否能返回状态码200

  使用Github来Clonehttps://github.com/aimer1124/SuperTestWithGrunt.git

  

  · /test/module/demo.js:测试脚本

var config = require('../config/endpoints'),

request = require('supertest')(config.host[config.env]);

describe('Test Demo.', function() {

this.timeout(10000);

it('Visit ' + config.env, function(done) {

request.get('')

.expect(200)

.end(done);

});

});

  · /test/config/endpoints.js:环境配制

module.exports = {

host : {

master: 'https://github.com/aimer1124/SuperTestWithGrunt',

branch: 'https://github.com/aimer1124/SuperTestWithGrunt/tree/differentENV'

},

env: process.env.NODE_ENV || 'master'

};

  · Gruntfile.js:Grunt运行时的命令配制

  · package.json:npm 安装时所须要的包

  · results.txt:执行结果存放文件

  执行

  · 命令:grunt

  · 运行结果

SuperTestWithGrunt git:(master) ? grunt

Running "mochaTest:test" (mochaTest) task

Test Demo.

Visit master (1640ms)

1 passing (2s)

Done, without errors.

  结果分析:Visit master (1640ms)表示测试正常经过;1 passing (2s)表示整个测试所执行的时间和测试所执行的数量

  Gulp篇

  什么是Gulp

  · Automate and enhance your workflow,自动化而且加强你的工做

  · 官网:http://gulpjs.com/

  · 中文官网:http://www.gulpjs.com.cn/

  安装

  · 命令

  npm install --global gulp-cli

  功能分析

  测试目的:请求http://aimer1124.github.io/是否能返回状态码200

  使用Github来Clonehttps://github.com/aimer1124/SuperTestWithGulp

  

  · /test/config/endpoints.js:环境配制

  var host = {

  master: require('./master.js'),

  branch: require('./branch.js')

  };

  var ENV;

  module.exports = function(env) {

  if (env) {

  ENV = host[env];

  return;

  }

  return ENV;

  };

  · /test/config/master的具体配制

  module.exports = {

  url: 'http://aimer1124.github.io/',

  name: 'master'

  };

  · /test/module/test-demo.js:测试脚本

  var data = require('../config/endpoints'),

  request = require('supertest')(data().url);

  describe('Test Demo.', function() {

  this.timeout(10000);

  it('Visit ' + data().url, function(done) {

  request.get('')

  .expect(200)

  .end(done);

  });

  console.log('You are in ' + data().name);

  });

  gulpfile.js:Grunt运行时的命令配制

  package.json:npm 安装时所须要的包

  results.txt:执行结果存放文件

顾翔凡言:

想作软件测试,最好先去作两到五年开发

啄木鸟软件测试培训中心,主打五门课:

初级:

1,你也想成为软件测试工程师吗~软件测试基础教程

中级:

2,软件测试工程师必须掌握的技能~软件测试设计方法实战。

高级:

3,让你的程序跑得更快~软件性能测试

4,让你找出更多的bug~探索式软件测试

5,让用户迷上你的产品~用户体验式测试


本文分享自微信公众号 - 软件测试培训(iTestTrain)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索