我正在使用selenium将HTTP请求发送到HTTP服务器,并且在关闭并通过相同的IP /端口(127.0.0.1:8080)从测试代码重新打开连接后,我收到以下错误。我很确定HTTP服务器应用程序在退出时关闭服务器套接字但是我不确定测试(客户端)代码是否正在关闭套接字。
我的RemoteWebDriver实现如下,我猜它可能需要覆盖stopClient()
才能关闭套接字但是有什么?
public class MyWebDriver extends RemoteWebDriver {
public MyWebDriver(URL url, Capabilities desiredCapabilities) {
super(new MyCommandExecutor(url), desiredCapabilities);
}
public Response sendCommand(String command){
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("command", command);
Response response = execute("sendCommand", parameters);
return response;
}
}
org.openqa.selenium.remote.UnreachableBrowserException:不能 开始一个新的会议。可能的原因是遥控器的无效地址 服务器或浏览器启动失败。构建信息:版本:'2.44.0', 修订版:'76d78cf323ce037c5f92db6c1bba601c2ac43ad8',时间: '2014-10-23 13:11:40'系统信息:主持人:'...',ip:'172.27.3.221', os.name:'Mac OS X',os.arch:'x86_64',os.version:'10 .10.1', java.version:'1.7.0_67'驱动程序信息:driver.version:MyWebDriver at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:593) 在
...
引起:org.apache.http.conn.HttpHostConnectException:连接到 127.0.0.1:8080 [/127.0.0.1]失败:拒绝连接
PS:我应该提一下,客户端代码可以在30秒左右之后重新连接到服务器 - 操作系统必须在那之后释放套接字:Java process on Mac OSX does not release socket