为什么在完成测试套件后,多个chromedriver实例会继续运行

时间:2013-07-25 05:35:30

标签: java selenium selenium-webdriver selenium-chromedriver

我使用的是Chrome驱动程序2.1和Google Chrome 28。 Selenium独立服务器2.31。我运行了一组350测试,最后25个chrome驱动程序实例正在运行。

2 个答案:

答案 0 :(得分:0)

这不仅仅是镀铬驱动器的情况。它与firefox驱动程序相同。

如果您忘记使用server.stop()或中间程序中断,您可以使用此端口从下次启动服务器

    import org.browsermob.proxy.ProxyServer;

导入上述内容。

    String sePortNumber = System.getProperty("WEBDRIVER_SERVER_PORT_NUMBER");
    if (sePortNumber == null) {
        sePortNumber="0";
    }
    ProxyServer server = new ProxyServer(Integer.parseInt(sePortNumber));
    server.start();

每次都会有一个随机未使用的端口。

答案 1 :(得分:0)

我不知道测试框架正在使用什么,但对我而言,它发生在Selenium和MSTest上。问题是如果在[TestCleanup]的代码运行时出现问题,则不会执行[TestInitialize]属性。 因此,由于我在driver.Quit()中调用了[TestCleanup],我最终打开了很多服务器实例,甚至在我们的应用程序中发生了一些巨大的UI更改后,设法耗尽了服务器机器的内存。 / p>