调试时,WebDriverWait的行为有所不同

时间:2016-11-01 12:56:32

标签: selenium-webdriver

开始使用Selenium WebDriver。当我运行我的测试时,WebDriverWait正常工作,但我得到了:

  

OpenQA.Selenium.NoSuchElementException   {"没有这样的元素:无法找到元素:   {\"方法\":\" ID为\" \"选择器\":\" exampleInputEmail1 \"} \ ñ     (会话信息:chrome = 54.0.2840.71)\ n     (司机信息:chromedriver = 2.25.426923       (0390b88869384d6eb0d5d09729679f934aab9eed),       platform = Windows NT 10.0.14393 x86_64)"}

当我调试测试时。

这里的代码失败了:

Driver.Navigate().GoToUrl($"{BaseUrl}user/login");
var wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(3));
wait.Until(d => d.FindElement(By.Id("exampleInputEmail1")));

最后一行抛出。如果我加上30ms的睡眠,就像这样:

Driver.Navigate().GoToUrl($"{BaseUrl}user/login");
Thread.Sleep(30);
var wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(3));
wait.Until(d => d.FindElement(By.Id("exampleInputEmail1")));

它也适用于调试器。他们为什么会有所不同?我试图搜索,但没有找到任何与运行v调试结果相关的内容。谢谢你的任何指示。

相关细节:

  • Visual Studio 2015
  • 使用Resharper 9.2在NUnit下运行测试
  • 引用WebDriver和WebDriver.Support 3.0.0

0 个答案:

没有答案