我想在CI构建过程中添加一些e2e测试.我已经针对chrome firefox添加了它们(作为最简单的).但我真的想为几个IE版本做这件事.如何在
linux / mac上的构建过程中注入它?
我找到了这样的文章:
http://elgalu.github.io/2014/run-protractor-against-internet-explorer-vm/
但看起来它不是我需要的100%.有人可以提供简单的配置样本吗?
你需要一个
selenium server,你自己,或
browserstack
/
SauceLabs
.如果您计划自己完成,简而言之,您需要设置一个selenium网格并注册节点,其中一个节点应该是一台Windows机器,您可以在其中运行针对IE的测试.
就个人而言,我已成功在多个浏览器上运行量角器e2e测试,包括在browserstack上的不同Chrome,Firefox和IE版本.这是我使用的配置(它还包括jasmine junit reporter
,CI需要这个):
'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','resolution': '1024x768',specs: [ '*.spec.js' ],exclude: [ 'footer.disabledCookies.spec.js' ] },{ 'browserstack.user': browserstackUser,'browser': 'Internet Explorer','browser_version': '8.0','os_version': '7',specs: [ '*.spec.js' ] },'browserName': 'Internet Explorer','browser_version': '9.0',exclude: [ 'footer.disabledCookies.spec.js' ] } ],// 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,prePendStr)); }); },jasmineNodeOpts: { showColors: true,isVerbose: true,includeStackTrace: true,defaultTimeoutInterval: 3600000 } };