我对Selenium Grid比较陌生,而且我遇到了测试稳定性方面的问题。出于某种原因,当我通过网格和RemoteWebDriver运行我的测试时,我的测试会间歇性地停留在IEDriverServer打开页面上,
"This is the initial start page for the WebDriver server."
这会导致针对该计算机的其余测试失败,这非常令人沮丧,因为100次中的99次相同的测试将传递重新运行。
我想做类似以下的事情,但似乎无法实现它。这是伪代码:
if(initialWebDriverPageTextIsOnPage > 30seconds)
{
driver.Close();
driver.Dispose();
}
我觉得这可以作为我的basetest作为一个持续轮询页面的听众,但我似乎无法弄清楚如何实现这一点。
非常感谢任何有关根本原因的建议或建议
答案 0 :(得分:0)
如果您想等待预定的网址等待一段时间,您可以使用正确的 ExplicitWait
即 WebDriverWait
strong> ExpectedConditions
子句如下:
WebDriverWait wait_4_link = new WebDriverWait(driver, new TimeSpan(0,0,10));
if(wait_4_link.Until(ExpectedConditions.UrlToBe("your_intended_url")))
{
//Your Test Code
}
else
{
driver.quit();
}
作为
ExpectedConditions
的替代UrlToBe
子句的替代方法,您还可以使用以下任一条款:
wait_4_link.until(ExpectedConditions.UrlContains("your_url_fraction"));
wait_4_link.until(ExpectedConditions.UrlMatches("regex_pattern_of_url"));