1

当我们使用 Microsoft Edge 运行脚本时,出现以下错误:

当服务器以 W3C 模式运行时,不允许使用以下 JSON 有线协议命令端点。获取/关机

我的理解是Edge现在默认支持W3C模式。我们的 Java 绑定以 Json 有线协议模式(JWP)发送。我们如何指导 Microsoft WebDriver 使用 JWP 模式而不是 W3c 模式

微软文档中提到过:

w3c 使用 W3C WebDriver 协议(默认选项) 17763
jwp 使用 JSON Wire 协议

https://docs.microsoft.com/en-us/microsoft-edge/webdriver

您能否告诉我如何从 W3C 模式更改为 jwp 模式?

4

2 回答 2

3

另一种解决方法是为 Edge Driver 指定一个中间脚本,该脚本:

  • 调用实际的 Edge Driver 可执行文件,
  • 将所有调用参数传递给它并
  • 另外添加了“jwp”参数。

例如,我创建了一个edgedriver.bat包含以下内容的批处理文件:

C:\Windows\System32\MicrosoftWebDriver.exe %* --jwp

在我的节点启动时,我将此批处理文件指定为 Edge 的驱动程序:

java -Dwebdriver.edge.driver="D:\Driver\edgedriver.bat"^
     -Dwebdriver.ie.driver="D:\Driver\IEDriverServer.exe"^
     -Dwebdriver.chrome.driver="D:\Driver\chromedriver.exe"^
     -jar D:\Vaadin_Testbench_Node\vaadin-testbench-standalone-5.1.2.jar^
     -role node^
     -nodeConfig D:\Vaadin_Testbench_Node\nodeconfig.json
于 2019-10-07T07:51:18.260 回答
0

尝试在文件EdgeDriverService.java中添加以下行

argsBuilder.add("--jwp");

它可以帮助 web 驱动程序以 jwp 模式启动。

参考:

selenuim 服务器节点 3.14.0 无法为 Edge #6464 启动新会话

于 2019-07-04T14:01:17.107 回答