我想将我的protractor.conf.js设置为在Edge中而不是在Chrome中运行测试。设定这个
capabilities: { 'browserName': 'MicrosoftEdge' }
导致SessionNotCreatedError: Unable to create new service: EdgeDriverService错误代码为199。我从Microsoft的网站上下载了Edge版本的MicrosoftWebDriver.exe,但是我不知道如何告诉Protractor在哪里找到该驱动程序。我试着将它添加到我的用户路径,我的系统路径,在量角器的节点模块文件夹中的selenium文件夹,给人一种jvmArgs:或seleniumArgs:的['-Dwebdriver.edge.driver="<path- to-driver"'],但我还是拿到SessionNotCreatedError。
SessionNotCreatedError: Unable to create new service: EdgeDriverService
jvmArgs:
seleniumArgs:
['-Dwebdriver.edge.driver="<path- to-driver"']
我只写纯JavaScript,没有Java或C#,我希望所有这些都设置为protractor.conf.js文件中的属性,而在测试的实际文件中未设置任何属性。我拥有Node的最新版本,并且确保在运行时关闭Edge ng e2e。我需要更改或添加到我的配置文件中才能使其运行?
ng e2e
编辑:从这个github问题,我添加seleniumAddress: http://127.0.01:17556/到我的配置文件中,但是现在我收到了ECONNREFUSED 127.0.0.1:17556错误代码135 的错误。我从那个github问题的注释之一中获得了该地址,但是无论启动什么我都会得到相同的错误手动或刚刚运行Edge驱动程序ng e2e --config <path-to-config>。
seleniumAddress: http://127.0.01:17556/
ECONNREFUSED 127.0.0.1:17556
ng e2e --config <path-to-config>
解决方案: 添加seleniumAddress: 'http://localhost:4444/wd/hub'到配置文件。使用手动运行边缘驱动程序webdriver-manager start --edge "<path-to-driver>\MicrosoftWebDriver.exe",然后ng e2e在另一个窗口中运行。非常感谢HaC提供此解决方案!
seleniumAddress: 'http://localhost:4444/wd/hub'
webdriver-manager start --edge "<path-to-driver>\MicrosoftWebDriver.exe"
参考:https : //github.com/angular/protractor/issues/2377
webdriver-manager start --edge "C:\path_to_the_driver\MicrosoftWebDriver.exe"