我想将我的protractor.conf.js设置为在Edge中而不是在Chrome中运行测试。设置此
capabilities: {
'browserName': 'MicrosoftEdge'
}
导致SessionNotCreatedError: Unable to create new service: EdgeDriverService
的错误代码为199.我从Microsoft's website下载了我的Edge版本的MicrosoftWebDriver.exe,但我无法弄清楚如何告诉Protractor在哪里找到那个司机。我已经尝试将它添加到我的用户路径,我的系统路径,量角器的节点模块文件夹中的selenium文件夹,并提供jvmArgs:
或seleniumArgs:
['-Dwebdriver.edge.driver="<path-to-driver"']
,但我仍然可以SessionNotCreatedError。
我只编写纯JavaScript,没有Java或C#,我希望所有这些都在protractor.conf.js文件中设置为属性,在实际的测试文件中没有设置。我有最新版本的Node,我确保在运行ng e2e
时关闭Edge。我需要更改或添加到配置文件才能运行它?
编辑:从this github issue,我将seleniumAddress: http://127.0.01:17556/
添加到我的配置文件中,但现在我收到错误代码为135的ECONNREFUSED 127.0.0.1:17556
错误。我从其中一个获取了该地址关于github问题的评论,但无论手动启动Edge驱动程序还是仅运行ng e2e --config <path-to-config>
,我都会收到同样的错误。
解
将seleniumAddress: 'http://localhost:4444/wd/hub'
添加到配置文件中。使用webdriver-manager start --edge "<path-to-driver>\MicrosoftWebDriver.exe"
手动运行边缘驱动程序,然后在另一个窗口中运行ng e2e
。非常感谢HaC提供此解决方案!
答案 0 :(得分:6)
参考:https://github.com/angular/protractor/issues/2377
webdriver-manager start --edge "C:\path_to_the_driver\MicrosoftWebDriver.exe"
。默认情况下,这将在端口4444上启动您的selenium服务器,该服务器应该对您开放。seleniumAddress: 'http://localhost:4444/wd/hub'