在TFS构建中运行量角器e2e测试

时间:2016-05-02 15:02:28

标签: testing tfs protractor tfsbuild browserstack

我应该如何配置我的TFS构建以使其能够在browserstack中运行量角器e2e测试,并返回一些html报告哪个测试失败了?我是TFS的新手。我可以从我的机器手动完成,但不确定我是否可以在TFS中完成。 这就是我的量角器配置的样子:

var project = 'testProject',
build = 'build_4',
acceptSslCerts = 'true';

var HtmlScreenshotReporter = require('protractor-jasmine2-screenshot-reporter');

var reporter = new HtmlScreenshotReporter({
dest: './html-report/',
filename: 'my-report.html',
reportOnlyFailedSpecs: false,
captureOnlyFailedSpecs: true,
showSummary: true,    
});

module.exports.config = {
framework: 'jasmine2',
seleniumAddress: 'http://hub.browserstack.com/wd/hub', /*  'http://localhost:4444/wd/hub', */
allScriptsTimeout: 40000,
specs: [    'test-spec.js'    ],
 capabilities: {
     browserName: 'chrome',
     loggingPrefs: { driver: 'ALL', server: 'ALL', browser: 'ALL' },
     'build' : 'version3',
     'project' : 'newintropage',
     'browserstack.user': 'browserstack.user',
     'browserstack.key': 'browserstack.key',        
     'browser': 'Edge',
     'browser_version': '13.0',
     'os': 'Windows',
     'os_version': '10',
     'resolution': '1024x768',

     'acceptSslCerts': acceptSslCerts
 },    
jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 40000
},
// Setup the report before any tests start
beforeLaunch: function () {
    return new Promise(function (resolve) {
        reporter.beforeLaunch(resolve);
    });
},
onPrepare: function () {       
    jasmine.getEnv().addReporter(reporter);
},
// Close the report after all tests finish
afterLaunch: function (exitCode) {
    return new Promise(function (resolve) {
        reporter.afterLaunch(resolve.bind(this, exitCode));
    });
}
};

这就是我的tfs构建方式:

enter image description here

1 个答案:

答案 0 :(得分:2)

根据屏幕截图,您正在使用vNext构建,并且您选择了默认的" Visual Studio"构建模板。

TFS vNext构建系统是基于任务的,具有灵活性。我不熟悉量角器e2e测试,但至少基于description of Protractor,您需要使用npm来安装两个命令行工具,protractorwebdriver-manager,所以默认" Visual Studio"构建模板不符合您的要求。

您需要按specifying your build steps自定义自己的构建模板。例如,您需要添加npm步骤来安装protractorwebdriver-manager,并添加Command Line步骤以运行protractor conf.js命令。

enter image description here