我想进行跨浏览器测试,但不能一起进行,也不能在不同的浏览器中进行
session,因为我希望所有关闭的测试结果都会生成为相同的HTML session 结束时作报告。
当我尝试将所有测试用例一起运行时,部分测试用例因超时而失败,并且报告很困惑。
Protractor - session :
multiCapabilities: [{
'browserName': 'firefox',
'cli': {
'args': ['webdriver.firefox.useExisting=default']
// 'args': ['webdriver.firefox.useExisting=default', '-jsconsole', '-jsdebugger']
}},
{
'browserName': 'chrome',
'chromeOptions': {
args: ['--test-type','--memory-metrics','--console','--crash-on-failure']
// '--load-extension=' + 'C:\\Users\\idan\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Extensions\\idgpnmonknjnojddfkpgkljpfnnfcklj\\1.2.4_0'
}
},
{
'browserName': 'internet explorer',
'platform': 'ANY',
'version': '11'
}],
// maxSessions: 1,
您可以使用 browser.browserName 作为报告名称,以便全部报告,我在 onPrepare() 中使用此函数:
browser.getCapabilities().then(function (cap) {
console.log(cap);
browser.browserName = cap.caps_.browserName;
jasmine.getEnv().addReporter(new HtmlReporter({
baseDirectory: 'target/'+browser.browserName+'/angular-test-result/',
takeScreenShotsOnlyForFailedSpecs: true,
preserveDirectory: false
}));
});
如果您不想并行运行浏览器,您可以使用 -browser=chrome
调用 Protractor
我是一名优秀的程序员,十分优秀!