testing - 在 TFS 构建中运行 Protractor 端到端测试

标签 testing tfs protractor tfsbuild browserstack

我应该如何配置我的 TFS 构建,以便可以在浏览器堆栈中运行 Protractor e2e 测试,并返回一些测试失败的 html 报告?我是 TFS 的新手。我可以从我的机器上手动完成,但不确定我是否可以在 TFS 中完成。 这是我的 Protractor 配置的样子:

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

最佳答案

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

TFS vNext 构建系统是基于任务的,非常灵活。我不熟悉 Protractor 端到端测试,但基于 description of Protractor ,至少,你需要使用npm安装两个命令行工具,protractorwebdriver-manager,所以默认的“Visual Studio”构建模板不符合您的要求。

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

enter image description here

关于testing - 在 TFS 构建中运行 Protractor 端到端测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36985594/

相关文章:

testing - Citrus 航类预订样本执行?

visual-studio-2010 - 使用vs2010无法访问tfs服务器,返回404错误

c# - 如何使用 TFS 客户端库获取 PullRequest 的 Web URL?

将修改后的文件与最新版本进行比较的 TFS 快捷方式

android - 在智能手机上测试 phonegap/android 应用程序

apache-flex - 柔性 : Testing UI components at the click level?

angularjs - 找不到按钮的元素

javascript - 更改方法以在 typescript 中使用 Promise.all

testing - 为什么动态分析不能覆盖一个程序的所有执行路径?

angularjs - 如何在 Protractor 中使用 Jasmine 和 CucumberJS