只需在WebDriver中调用navigate(),IE就会丢失所有windowHandles

时间:2016-10-12 16:13:01

标签: c# selenium selenium-webdriver

我已经看到了很多相关的问题,但没有任何答案可以解决我的问题。我启动了IEServerDriver,我的浏览器在默认的WebDriver页面加载。然后我有一个简单的电话,如

var ieops = new InternetExplorerOptions(){
      IntroduceInstabilityByIgnoringProtectedModeSettings = true,
      EnsureCleanSession = true,
      RequireWindowFocus = true
   };
wrapperObject = (new InternetExplorerDriver(ieops));
wrapperObject.webDriver.Navigate().GoToUrl(url1);
Console.WriteLine("This will give an exception {0}",wrapperObject.webDriver.Title);
砰,突然在某些浏览器上,在某些测试机器上我丢失了所有窗口,我的WebDriver已经无法使用。要么我得到一个Window is Closed异常,要么我得到一个无法获得浏览器异常。发生了什么?我检查了所有IE设置和版本,并没有任何问题出现在我身上。让我展示一些硬代码......

months[m]

答案必须简单,并且盯着我看,但我不知道在哪个方向盯着看。

1 个答案:

答案 0 :(得分:0)

我找到了各种答案;因为现在发生了测试执行

var ieops = new InternetExplorerOptions(){
      InnitialBrowserUrl = TheUrlIUse,
      EnsureCleanSession = true,
      RequireWindowFocus = true
   };

以上修复了有关特定方框的问题。我无法理解为什么代码应该在两个不同的盒子上执行不同。这不是我在测试中喜欢的那种可重复性。在初始导航中发生了什么?请在明信片上回答。