被遗忘的软件测试自动化测试

API自动化测试与持续集成

2016-05-10  本文已影响4350人  Yuan_Jie

目的

SuperTest

什么是SuperTest

如何安装

npm install supertest --save-dev
describe('Test Demo.', function() {

    it('Visit URL', function(done) {
        request.get('')
            .expect(200)
            .end(done);
    });
});

自动化API测试:Grunt & Gulp

Grunt篇

什么是Grunt

安装

npm install -g grunt-cli

功能分析

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

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

fileTree.png
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);

    });

});
module.exports = {

host : {

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

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

},

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

};

执行

➜  SuperTestWithGrunt git:(master) ✗ grunt
Running "mochaTest:test" (mochaTest) task


  Test Demo.
    ✓ Visit master (1640ms)


  1 passing (2s)


Done, without errors.

Gulp篇

什么是Gulp

安装

npm install --global gulp-cli

功能分析

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

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

SuperTestWithGulp.png
var host = {
    master: require('./master.js'),
    branch: require('./branch.js')
};

var ENV;

module.exports = function(env) {
    if (env) {
        ENV = host[env];
        return;
    }
    return ENV;
};

module.exports = {
    url: 'http://aimer1124.github.io/',
    name: 'master'
};


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);
});

执行

gulp master
➜  SuperTestWithGulp git:(master) gulp master
[17:34:44] Using gulpfile ~/Downloads/SuperTestWithGulp/gulpfile.js
[17:34:44] Starting 'master'...
[17:34:44] Finished 'master' after 37 ms
You are in master


  Test Demo.
    ✓ Visit http://aimer1124.github.io/ (502ms)


  1 passing (506ms)

自动化测试的持续集成

持续集成是什么

Travis CI

Travis与Gulp集成

language: node_js

node_js:

  - "0.12"

before_script:

  - npm install -g gulp

script: gulp master
GulpInTravis.png gulpWithTravis.png

Jenkins

Jenkins与Grunt集成

ConfigScriptInJenkins.png LogInJenkins.png

总结

参考

上一篇 下一篇

猜你喜欢

热点阅读