我应该如何配置我的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构建方式:
答案 0 :(得分:2)
根据屏幕截图,您正在使用vNext构建,并且您选择了默认的" Visual Studio"构建模板。
TFS vNext构建系统是基于任务的,具有灵活性。我不熟悉量角器e2e测试,但至少基于description of Protractor,您需要使用npm
来安装两个命令行工具,protractor
和webdriver-manager
,所以默认" Visual Studio"构建模板不符合您的要求。
您需要按specifying your build steps自定义自己的构建模板。例如,您需要添加npm
步骤来安装protractor
和webdriver-manager
,并添加Command Line
步骤以运行protractor conf.js
命令。