我对 selenium 比较陌生。
我的测试自动化项目将在3月13日(3天前)运行,没有任何问题
我没有改变项目本身的任何东西。
但是,从3月14日开始,当我尝试运行该项目时:
我收到错误:
Failure: 1 : Script desription
java.lang.NullPointerException: Cannot invoke "org.asynchttpclient.ws.WebSocket.sendCloseFrame(int, String)" because "this.socket" is null
java.lang.NullPointerException: Cannot invoke "org.asynchttpclient.ws.WebSocket.sendCloseFrame(int, String)" because "this.socket" is null
at org.openqa.selenium.remote.http.netty.NettyWebSocket.close(NettyWebSocket.java:116)
at org.openqa.selenium.devtools.Connection.close(Connection.java:127)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at org.openqa.selenium.chromium.ChromiumDriver.quit(ChromiumDriver.java:192)
at com.scriptDescription.StepDefinition.Step_DoSomething.before(Step_DoSomething.java:27)
Tests = 29
: Successes = 28
: Failures = 1
另见截图:
测试脚本甚至不会开始执行。
运行将立即停止:
Web浏览器正在启动,但没有任何React:
有谁能分享一下想法或提供点帮助吗。
1条答案
按热度按时间mspsb9vt1#
此错误消息...
...表示***asynchttpclient***存在问题。
详情
核心问题是Origin header is always sent from WebSocket client与Selenium仍在使用的***Netty v4.x***的问题。此问题在***Netty v5.x**中得到解决。
溶液
最佳解决方案是升级到java-11HTTP Client with Selenium 4.5.0 and beyond
但是,一个快速的解决方法是添加参数--remote-allow-origins=,如下所示:
参考文献
您可以在以下内容中找到一些相关的详细讨论: