使用Protractor如何设置/添加并行浏览器以进行测试。
示例:不仅chrome
,还有firefox
的测试套件?还有一种简单的移动测试方法吗?说ios8 safari还是移动铬?
如何在并行套件测试中编写exports.config对象以支持chrome and firefox
?
exports.config = {
multiCapabilities: [
{
'browserName': 'chrome',
'chromeOptions': {
args: ['--test-type']
}
}
]}
suites: {
homePageFooter: 'protractor/homePage/footer.spec.js'
},
答案 0 :(得分:9)
使用Protractor如何设置/添加并行浏览器以进行测试。
您需要在multiCapabilities
中列出您的浏览器:
multiCapabilities: [{
'browserName': 'firefox'
}, {
'browserName': 'chrome'
}]
还有一种简单的移动测试方法吗?说ios8野生动物园或 移动铬?
一种选择是使用Appium
框架,以下是相关的文档部分:
另一个选择是使用Browserstack
(或Sauce Labs
)作为您的selenium服务器。有huge variety of browsers/platforms可供选择,包括不同的移动设备。
以下是我们其中一个内部项目的示例配置:
'use strict';
var browserstackUser = 'user';
var browserstackKey = 'key';
exports.config = {
multiCapabilities: [
{
'browserstack.user': browserstackUser,
'browserstack.key': browserstackKey,
'browserstack.local': 'true',
'browserstack.debug': 'true',
'browserName': 'Chrome',
'os': 'Windows',
'os_version': '8',
specs: [
'*.spec.js'
],
exclude: [
'footer.disabledCookies.spec.js',
'footer.disabledFlash.spec.js'
]
},
{
'browserstack.user': browserstackUser,
'browserstack.key': browserstackKey,
'browserstack.local': 'true',
'browserstack.debug': 'true',
'browserName': 'Internet Explorer',
'browser_version': '9.0',
'os': 'Windows',
'os_version': '7',
'resolution': '1024x768',
specs: [
'*.spec.js'
],
exclude: [
'footer.disabledCookies.spec.js',
'footer.disabledFlash.spec.js'
]
}
],
maxSessions: 2,
// Browserstack's selenium server address
seleniumAddress: 'http://hub.browserstack.com/wd/hub',
framework: 'jasmine',
allScriptsTimeout: 300000,
baseUrl: 'http://localhost:9001',
onPrepare: function () {
require('jasmine-reporters');
var capsPromise = browser.getCapabilities();
capsPromise.then(function (caps) {
var browserName = caps.caps_.browserName.toUpperCase();
var browserVersion = caps.caps_.version;
var prePendStr = browserName + "-" + browserVersion + "-";
jasmine.getEnv().addReporter(new
jasmine.JUnitXmlReporter("test-results", true, true, prePendStr));
});
},
jasmineNodeOpts: {
showColors: true,
isVerbose: true,
includeStackTrace: true,
defaultTimeoutInterval: 3600000
}
};