我使用Selenium网格对Jenkins的远程Windows VM作为集线器进行了数百次硒测试。我一直在为他们每个人使用RetryAnalyzer,并取得了巨大的成功。但最近的问题导致测试无限期挂起 - 所以我尝试在@Test注释上实现timeout功能(所以它看起来像这样:@Test(retryAnalyzer=MyRetryAnalyzer.class, timeOut=600000)
。
问题在于超时,一旦测试因任何原因失败,整个套件几乎立即失败,每次测试都抛出UnreachableBrowserException
。如果我删除超时,它可以正常工作。
我正在使用TestNg的@BeforeMethod
注释打开WebDriver,如果这有帮助的话。
感觉就像设置了超时一样,并且在失败之后,每次测试时超时都设置为0,当testng尝试重试测试时,它的超时时间不能为0(这就是它的内容)感觉就像)。
编辑 - 正在发生的另一件疯狂的事情是我尝试在退出webdriver之后添加一个Thread.sleep(5000)
,认为这可能会有所作为,但它却引发了InterruptedException: sleep interrupted
异常。我以前从未见过Thread.sleep实际上抛出错误。这是怎么回事?
答案 0 :(得分:0)
我也有同样的问题,但使用alwaysRun = true
我的问题已解决
@Test(priority = 1, retryAnalyzer = Retry.class,alwaysRun = true)
public void Testcase() throws InterruptedException {
}
你可以试试这个