使用量角器,如何设置/添加并行浏览器进行测试。
示例: 不仅对chrome,还对firefox?还有针对移动设备的简单测试方法吗?说ios8野生动物园还是移动Chrome?
chrome
firefox
如何编写exports.config对象以支持chrome and firefox并行套件测试?
chrome and firefox
exports.config = { multiCapabilities: [ { 'browserName': 'chrome', 'chromeOptions': { args: ['--test-type'] } } ]} suites: { homePageFooter: 'protractor/homePage/footer.spec.js' },
您需要在以下位置列出浏览器multiCapabilities:
multiCapabilities
multiCapabilities: [{ 'browserName': 'firefox' }, { 'browserName': 'chrome' }]
还有针对移动设备的简单测试方法吗?说ios8野生动物园还是移动Chrome?
一种选择是使用Appium框架,这是相关的文档部分:
Appium
另一种选择是将Browserstack(或Sauce Labs) 用作您的硒服务器 。有多种浏览器/平台可供选择,包括不同的移动设备。
Browserstack
Sauce Labs
这是来自我们内部项目之一的示例配置:
'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 } };