0

我正在尝试使用 Selenium GUI(在 Firefox 中)记录测试。该应用程序使用图像作为超链接,如下所示:

<a class="mainheading" align="center" target="_blank" href="https://myapps.web.com/prepaid/customer/index.jsp"> <img width="256" height="57" border="0" alt="customer" src="images/customer.jpg"/> </a>

现在,当我们点击上图时,a href标签会打开另一个窗口。新窗口打开后,我需要在该窗口中执行其余测试。问题是当我记录测试时,Selenium GUI 无法理解我正在执行的任何操作都在新窗口中。因此,即使它适当地记录了操作,当我运行预先记录的测试时,我也会收到一个错误,指出找不到元素。我认为发生这种情况是因为 Selenium 仅尝试在原始窗口中查找元素(而不是在由于上述原因打开的新窗口中a href)。

我尝试谷歌,但我得到的解决方案与我上面的情况不匹配(即a href打开新窗口而不是window.open)。有人可以请教吗?

谢谢你。

4

2 回答 2

1

您可以像这样使用驱动程序窗口句柄:

// Get a list of window identities
List<string> windowIdentities = driver.WindowHandles.ToList();

// Switch control over to the other window
driver.SwitchTo().Window(windowIdentities[1]);

这是用 C# 编写的,但如果您用不同的语言编写它,应该不会有太大的不同。让我知道这是否适合您!

于 2012-07-17T20:49:40.940 回答
0

在对它执行操作之前,您需要移动到新窗口。为此,如果您使用的是 webdriver,则可以使用 switchTo.window,否则在 ide 中,应该有 selectwindow 移动到适当的窗口,然后在那里继续您的操作。

于 2012-07-14T12:56:49.457 回答