在 Protractor 中对多个/并行浏览器进行 E2E 测试? [英] E2E testing on multiple/parallel browsers in Protractor?
问题描述
如何使用 Protractor 设置/添加并行浏览器进行测试.
示例:不仅要在 chrome
上测试套件,还要在 firefox
上测试套件?还有一种简单的移动测试方法吗?说 ios8 safari 还是移动版 chrome?
问题:
如何编写exports.config 对象以在并行套件测试中支持chrome 和firefox
?
exports.config = {多能力:[{'浏览器名称':'铬','铬选项':{参数:['--测试类型']}}]}套房:{homePageFooter: '量角器/homePage/footer.spec.js'},
如何使用 Protractor 设置/添加并行浏览器进行测试.
您需要在 中列出您的浏览器multiCapabilities
:
multiCapabilities: [{'浏览器名称':'火狐'}, {'浏览器名称':'铬'}]
<块引用>
还有一种简单的移动测试方法吗?说 ios8 Safari 或手机镀铬?
一种选择是使用 Appium
框架,以下是相关文档部分:
另一种选择是使用 Browserstack
(或 Sauce Labs
) 作为您的硒服务器.有大量浏览器/平台可供选择来自,包括不同的移动设备.
以下是我们内部项目之一的示例配置:
'use strict';var browserstackUser = '用户';var browserstackKey = 'key';出口.config = {多能力:[{'browserstack.user':浏览器堆栈用户,'browserstack.key':browserstackKey,'browserstack.local': '真','browserstack.debug': '真','浏览器名称': 'Chrome','os': '视窗','os_version': '8',眼镜: ['*.spec.js'],排除: ['footer.disabledCookies.spec.js','footer.disabledFlash.spec.js']},{'browserstack.user':浏览器堆栈用户,'browserstack.key': browserstackKey,'browserstack.local': '真','browserstack.debug': '真','浏览器名称': 'Internet Explorer','浏览器版本':'9.0','os': '视窗','os_version': '7','分辨率':'1024x768',眼镜: ['*.spec.js'],排除: ['footer.disabledCookies.spec.js','footer.disabledFlash.spec.js']}],最大会话数:2,//Browserstack的selenium服务器地址seleniumAddress: 'http://hub.browserstack.com/wd/hub',框架:茉莉花",allScriptsTimeout: 300000,baseUrl: 'http://localhost:9001',onPrepare: 函数 () {require('茉莉花记者');var capsPromise = browser.getCapabilities();capsPromise.then(函数(大写){var browserName = caps.caps_.browserName.toUpperCase();var browserVersion = caps.caps_.version;var prePendStr = browserName + "-" + browserVersion + "-";jasmine.getEnv().addReporter(newjasmine.JUnitXmlReporter("test-results", true, true, prePendStr));});},茉莉花节点选项:{显示颜色:真实,isVerbose:真实,包括堆栈跟踪:真,默认超时间隔:3600000}};
Using Protractor how do I setup/add a parallel browsers for testing.
example: Test suites on not only chrome
, but also firefox
? Also is there a simple way of test for mobile? say ios8 safari or mobile chrome?
Question:
How do I write the exports.config object to support chrome and firefox
in parallel suite testing?
exports.config = {
multiCapabilities: [
{
'browserName': 'chrome',
'chromeOptions': {
args: ['--test-type']
}
}
]}
suites: {
homePageFooter: 'protractor/homePage/footer.spec.js'
},
Using Protractor how do I setup/add a parallel browsers for testing.
You need to list your browsers in multiCapabilities
:
multiCapabilities: [{
'browserName': 'firefox'
}, {
'browserName': 'chrome'
}]
Also is there a simple way of test for mobile? say ios8 safari or mobile chrome?
One option would be to use Appium
framework, here are the relevant documentation sections:
Another option would be to use Browserstack
(or Sauce Labs
) as your selenium server. There is a huge variety of browsers/platforms to choose from, including different mobile devices.
Here is a sample config from one of our internal projects:
'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
}
};
这篇关于在 Protractor 中对多个/并行浏览器进行 E2E 测试?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!