2012-02-27 95 views
1

有什么方法可以显式设置超时值。我用以下,但它似乎并不奏效:Selenium WebDriver在页面没有响应时挂起

IWebDriver driver = new FirefoxDriver(profile); 
driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30)); 

如果我可以创建一个新的标签,并关闭当前页面,和/或发生异常时停止网页加载,即将是一个充分的解决方法。

谢谢。

回答

1

WebDriver支持项目中提供了一个助手类。使用,您可以等到你传递给“直到”法的条件得到满足,或者它指定了之后的时间段(在此例如,3秒后)

IWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(3)) 
IWebElement element = wait.Until(driver => driver.FindElement(By.Name("q"))); 

使用以下命令安装通过的NuGet支持项目

Install-Package Selenium.Support 
0

我有一个运行我的硒测试的WPF(WinForms)应用程序。当我需要睡眠时,我只需调用Thread.Sleep(someInteger)。你尝试过吗?

+0

感谢您的建议,但它不适合我。 – stats101 2012-02-28 00:35:26