对Protractor E2E
和Chrome
进行IE
次测试很困难。
我可以单独运行它们,但是我需要在运行每个测试之前启动/停止相应的Chrome / IE webdriver服务器。
在我的conf.js
文件中,我导出了以下配置选项:
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: [
'spec/my-spec.js',
],
directConnect: false, // false when targeting IE, and selen addr is used
multiCapabilities: [
{
browserName: 'chrome'
}
,
{
browserName: 'internet explorer',
'version': '11'
}
]
}

对于标准Chrome测试,我可以启动Webdriver服务器:
> webdriver-manager start
但对于IE,我发现了一种运行Webdriver IE的方法如下(是的,非常难看):
java -Dwebdriver.ie.driver=C:\Projects\GSDashboard-E2ETests\node_modules\protractor\node_modules\webdriver-manager\selenium\IEDriverServer_x64_2.53.1.exe -jar C:\Projects\GSDashboard-E2ETests\node_modules\protractor\node_modules\webdriver-manager\selenium\selenium-server-standalone-2.53.1.jar
然后我就开始进行量角器测试:
protractor protractor.conf.js
我正在寻找一种更清洁,更流畅的方式同时运行IE / Chrome e2e测试。
有解决方案吗?
感谢任何建议/指导......
****** 更新 ******
根据下面的答案,尝试使用seleniumArgs
如下(我可以指定jar
文件或IEDriverServer_x64_2.53.1.exe
文件:
exports.config = {
//seleniumAddress: 'http://localhost:4444/wd/hub', // comment out
seleniumArgs: ['-Dwebdriver.ie.driver=C:\Projects\Dashb-E2ETests\node_modules\protractor\node_modules\webdriver-manager\selenium\IEDriverServer_x64_2.53.1.exe'],
allScriptsTimeout: 50000,
specs: [
'spec/MY-spec.js',
],
directConnect: false, // false when targeting IE, and selen addr is used
multiCapabilities: [
//{
// browserName: 'chrome',
,
{
browserName: 'internet explorer',
'version': '11'
}
]
}

但是运行测试会在Windows cmd提示符中抛出此错误:
E/launcher - The path to the driver executable must be set by the web driver.ie.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver.
所以,我仍然没有想出如何同时运行IE和Chrome测试。
的问候, 鲍勃
答案 0 :(得分:2)
我遇到了类似的问题,解决方案正在运行:
webdriver-manager update --ie
之后,IE11和Chrome实例同时运行:
multiCapabilities: [
{
browserName: 'chrome'
}
,
{
browserName: 'internet explorer',
'version': '11'
}
]
答案 1 :(得分:1)
在conf.js中包含seleniumArgs: ['-Dwebdriver.ie.driver=pathtoIEdriver/IEDriverServer.exe']
属性并删除seleniumAddress: 'http://localhost:4444/wd/hub'
。如果没有提到seleniumAddress,则量角器将自动启动selenium服务器。因此,以下将是您对chrome进行量角器测试的conf.js,即
exports.config = {
seleniumArgs: ['-Dwebdriver.ie.driver=node_modules/protractor/selenium/IEDriverServer.exe'],
specs: [
'spec/my-spec.js',
],
directConnect: false, // false when targeting IE, and selen addr is used
multiCapabilities: [
{
browserName: 'chrome'
}
,
{
browserName: 'internet explorer',
'version': '11'
}
]
}