Selenium IDE窗口焦点在Internet Explorer中

时间:2014-05-06 21:29:00

标签: selenium selenium-webdriver selenium-ide

我正在使用selenium IDE和webdriver来测试Internet Explorer中的网页。我发现一段时间后,IE不会完全接受来自Selenium的命令,如果它不是焦点的窗口。例如,如果Selenium IDE窗口处于焦点,并且命令是单击IE中的按钮,则该按钮将按下,但它不会松开。

考虑到这一点,我的测试涉及弹出一个窗口,在其中执行一些操作,使其保持打开状态并返回到空窗口以执行一些操作,然后返回弹出窗口以获取更多命令。

当我需要执行空窗口的命令时,有没有办法让空窗口出现(通过弹出窗口)?反之亦然,当我需要返回时,我可以让弹出窗口出现吗?我尝试使用windowFocus,但这不起作用。

2 个答案:

答案 0 :(得分:4)

使用SwitchTo()方法和Interface中的TargetLocator Selenium

一个非常简单的例子如下:

// Switch to new window
public String SwitchToNewWindow()
{
   // Get the original window handle
   String winHandleBefore = driver.getWindowHandle();

   foreach(String winHandle in driver.getWindowHandles())
   {
      driver.switchTo().window(winHandle);
   }
   return Constants.KEYWORD_PASS;
}

// Switch back to original window
public String switchwindowback()
{
   String winHandleBefore = driver.getWindowHandle();
   driver.close(); 
   //Switch back to original browser (first window)
   driver.switchTo().window(winHandleBefore);
   //continue with original browser (first window)
   return Constants.KEYWORD_PASS;
}

答案 1 :(得分:1)

我记得webdriver有时与运行非webdriver测试的行为不同。事实证明,在运行webdriver测试时,使用windowSelect后跟windowFocus在窗口之间切换。