我在Selenium网格上运行测试 - 通常是5台并行运行测试的机器。我得到一些不一致的奇怪错误。例如,我的一次约600次迭代测试将以下面3个错误中的0-50完成。每次运行时数量都不同。对于每个异常,它失败的行总是相同的。
org.openqa.selenium.UnsupportedCommandException:
Command duration or timeout: 65.91 seconds
com.web.test.library.BaseTest.openUrl(BaseTest.java:45)
BaseTest中的第45行:remoteDriver.get(url);
org.openqa.selenium.WebDriverException: Error forwarding the new session Error forwarding the request Read timed out
Command duration or timeout: 134.11 seconds
com.web.test.utility.DriverFactory.generateDriver(DriverFactory.java:46)
DriverFactory中的第46行:WebDriver driver = new RemoteWebDriver("my hub url here", capabilities);
org.openqa.selenium.WebDriverException: Unable to bind to locking port 7054 within 45000 ms
com.web.test.utility.DriverFactory.generateDriver(DriverFactory.java:46)
DriverFactory中的第46行:WebDriver driver = new RemoteWebDriver("my hub url here", capabilities);
当我在线搜索这些错误时,修复程序仅在此错误停止每个测试时才有用。当它发生不一样时,我找不到任何东西。例如,我在#1中找到的修复程序需要编辑主机文件。我不认为这是我的问题,因为它可以在95%的时间内工作。
答案 0 :(得分:2)
我猜你正在使用多个线程进行并行测试。
如果是这种情况,我建议您查看ThreadGuard。它是使Webdriver线程安全的轻量级解决方案。
如果这不起作用,那么我想你遇到了网络过载问题(你试图做太多的传出连接)。如何解决这个问题,我不知道。