我们一直在尝试并行运行量角器e2e UI测试(maxInstance = 3)。 但是,我们已经开始看到以下错误(该错误不会立即发生,而是在执行过程中的某个时刻出现),并且很难理解它的来源:
*> [06:01:18] E / BlockingProxy-从硒中获得状态13 {stacktrace:
'java.lang.RuntimeException:java.net.BindException:地址已经 使用中:connect \ r \ n \ tat org.openqa.selenium.remote.server.WebDriverServlet.lambda $ handle $ 3(WebDriverServlet.java:252)\ r \ n \ tat java.util.concurrent.Executors $ RunnableAdapter.call(未知 源代码)\ r \ n \ tat java.util.concurrent.FutureTask.run(未知 来源)\ r \ n \ tat java.util.concurrent.ThreadPoolExecutor.runWorker(未知 来源)\ r \ n \ tat java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知 来源)\ r \ n \ tat java.lang.Thread.run(来源不明)\ r \ n java.net.BindException:地址已在使用中:connect \ r \ n \ tat java.net.DualStackPlainSocketImpl.connect0(本机方法)\ r \ n \ tat java.net.DualStackPlainSocketImpl.socketConnect(未知 源)\ r \ n \ tat java.net.AbstractPlainSocketImpl.doConnect(未知 来源)\ r \ n \ tat java.net.AbstractPlainSocketImpl.connectToAddress(未知 来源)\ r \ n \ tat java.net.AbstractPlainSocketImpl.connect(未知 源)\ r \ n \ tat java.net.PlainSocketImpl.connect(未知 源)\ r \ n \ tat java.net.SocksSocketImpl.connect(未知 源)\ r \ n \ tat java.net.Socket.connect(未知源)\ r \ n \ tat java.net.Socket.connect(未知来源)\ r \ n \ tat sun.net.NetworkClient.doConnect(未知来源)\ r \ n \ tat sun.net.www.http.HttpClient.openServer(未知来源)\ r \ n \ tat sun.net.www.http.HttpClient.openServer(未知来源)\ r \ n \ tat sun.net.www.http.HttpClient。(未知来源)\ r \ n \ tat sun.net.www.http.HttpClient.New(未知来源)\ r \ n \ tat sun.net.www.http.HttpClient.New(未知来源)\ r \ n \ tat sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(未知 来源)\ r \ n \ tat sun.net.www.protocol.http.HttpURLConnection.plainConnect0(未知 来源)\ r \ n \ tat sun.net.www.protocol.http.HttpURLConnection.plainConnect(未知 来源)\ r \ n \ tat sun.net.www.protocol.http.HttpURLConnection.connect(未知 来源)\ r \ n \ tat sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(未知 来源)\ r \ n \ tat sun.net.www.protocol.http.HttpURLConnection.getOutputStream(未知 来源)\ r \ n \ tat org.openqa.selenium.remote.server.Passthrough.handle(Passthrough.java:104)\ r \ n \ tat org.openqa.selenium.remote.server.RemoteSession.execute(RemoteSession.java:127)\ r \ n \ tat org.openqa.selenium.remote.server.WebDriverServlet.lambda $ handle $ 3(WebDriverServlet.java:247)\ r \ n \ t ... 还有5个\ r \ n',15:57:32 [exec] [chrome ANY ANY#01-6] stackTrace: 15:57:32 [exec] [chrome ANY ANY#01-6] [{fileName: 'WebDriverServlet.java',15:57:32 [exec] [chrome ANY ANY#01-6]
methodName:'lambda $ handle $ 3',15:57:32 [exec] [chrome ANY ANY01-6] className:'org.openqa.selenium.remote.server.WebDriverServlet',15:57:32
[exec] [chrome ANY ANY#01-6] lineNumber:252},15:57:32
[exec] [chrome ANY ANY#01-6] {fileName:null,15:57:32
[exec] [chrome ANY ANY#01-6] methodName:'call',15:57:32
[exec] [chrome ANY ANY#01-6] className: 'java.util.concurrent.Executors $ RunnableAdapter',15:57:32 [exec] [chrome ANY ANY#01-6] lineNumber:-1},15:57:32 [exec] [chrome ANY ANY#01-6] {fileName:null,15:57:32 [exec] [chrome ANY ANY#01-6] methodName:“运行”,15:57:32 [exec] [chrome ANY ANY#01-6] className: 'java.util.concurrent.FutureTask',15:57:32 [exec] [chrome ANY ANY#01-6] lineNumber:-1},15:57:32 [exec] [chrome ANY ANY#01-6] {fileName:null,15:57:32 [exec] [chrome ANY ANY01-6] methodName:'runWorker',15:57:32 [exec] [chrome ANY ANY#01-6] className:
'java.util.concurrent.ThreadPoolExecutor',15:57:32 [exec] [chrome ANY ANY#01-6] lineNumber:-1},15:57:32 [exec] [chrome ANY ANY#01-6] {fileName:null,15:57:32 [exec] [chrome ANY ANY#01-6] methodName:“运行”,15:57:32 [exec] [chrome ANY ANY#01-6] className: 'java.util.concurrent.ThreadPoolExecutor $ Worker',15:57:32 [exec] [chrome ANY ANY#01-6] lineNumber:-1},15:57:32 [exec] [chrome ANY ANY#01-6] {fileName:null,15:57:32 [exec] [chrome ANY ANY#01-6] methodName:“运行”,15:57:32 [exec] [chrome ANY ANY#01-6] className:'java.lang.Thread',15:57:32 [exec] [chrome ANY ANY#01-6] lineNumber:-1}],15:57:32
[exec] [chrome ANY ANY#01-6]消息:'java.net.BindException: 已使用的地址:connect',15:57:32 [exec] [chrome ANY ANY01-6]错误:“未知错误”} *
有人见过这个错误,可能是什么原因?
干杯, 露西
答案 0 :(得分:0)
更新:最终解决该问题的方法是在Windows注册表中添加TcpTimedWaitDelay,并将其设置为30秒。