java - selenium webdriver 中的 SocketException

标签 java sockets selenium selenium-webdriver testng

我的 selenium 代码使用 selenium 最新 jars(2.47.1) 在 Firefox 和 Chrome 浏览器上成功执行,但最近几天我在控制台上收到此异常 java.net.SocketException 。 请帮助我并提前致谢。

我的代码如下所示,并且工作正常:

public class testngClass1 {

    public static WebDriver driver;

    @Test
    public static void a() {
        driver=new FirefoxDriver();
        driver.get("http://www.newtours.demoaut.com/");
        driver.manage().window().maximize();
        System.out.println("QWERYT");
    }

    @Test
    public static void b() {

        driver.findElement(By.name("userName")).sendKeys("QWERYT");
        System.out.println("QWERYT");
        // driver.quit();
    }
}

异常的堆栈跟踪是:

java.net.SocketException: Software caused connection abort: socket write error
  at java.net.SocketOutputStream.socketWrite0(Native Method)
  at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
  at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
  at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1876)
  at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1785)
  at java.io.ObjectOutputStream.<init>(ObjectOutputStream.java:247)
  at org.testng.remote.strprotocol.SerializedMessageSender.sendMessage(SerializedMessageSender.java:20)
  at org.testng.remote.strprotocol.MessageHub.sendMessage(MessageHub.java:44)
  at org.testng.remote.strprotocol.RemoteTestListener.onTestSuccess(RemoteTestListener.java:88)
  at org.testng.internal.Invoker.runTestListeners(Invoker.java:1800)
  at org.testng.internal.Invoker.runTestListeners(Invoker.java:1780)
  at org.testng.internal.Invoker.invokeMethod(Invoker.java:749)
  at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:846)
  at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1170)
  at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
  at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
  at org.testng.TestRunner.runWorkers(TestRunner.java:1125)
  at org.testng.TestRunner.privateRun(TestRunner.java:749)
  at org.testng.TestRunner.run(TestRunner.java:600)
  at org.testng.SuiteRunner.runTest(SuiteRunner.java:317)
  at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:312)
  at org.testng.SuiteRunner.privateRun(SuiteRunner.java:274)
  at org.testng.SuiteRunner.run(SuiteRunner.java:223)
  at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
  at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
  at org.testng.TestNG.runSuitesSequentially(TestNG.java:965)
  at org.testng.TestNG.runSuitesLocally(TestNG.java:890)
  at org.testng.TestNG.run(TestNG.java:824)
  at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:110)
  at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:205)
  at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:174)

最佳答案

我也遇到了同样的问题。我尝试过

-Djava.net.preferIPv4Stack=true & 它对我有用。使用该命令运行

右键单击脚本 > 单击运行方式 > 运行配置 > 参数 > VM 参数 添加-Djava.net.preferIPv4Stack=true > 应用>运行

关于java - selenium webdriver 中的 SocketException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31737678/

相关文章:

java - 在 Groovy 脚本中执行 .jar

python - 有人知道如何使用 selenium webdriver 识别 shadow dom web 元素吗?

java - driver.close 在 testng 中不起作用

linux - 如何知道 sockatpair 的 SOCK_DGRAM 对等套接字何时关闭?

python - 我可以访问远程机器上的 unix 域套接字吗?

swift - 一个socket连接占用两个tcp端口正常吗?

ruby-on-rails - 使用 webkit 测试失败,使用 selenium 通过

java - 使用 Hudson 构建时保存 Git SHA1 类似于 CVS 的 CVS_BRANCH 标签

java - 实例化泛型类时传递类型变量

java - Spring MVC 和 jQuery 自动完成