0

我在回归测试脚本中使用了 Java 和 Selenium Webdriver。我选择了一个 FirefoxDriver 对象来执行测试活动。问题如下:当脚本打开的窗口失焦时(例如,如果我手动切换到另一个程序),找不到动态生成的菜单项。这是代码:

WebElement locationField = wd.findElement(By.xpath("//input[@id='service_location']"));
locationField.click();
wd.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);

List<WebElement> countriesList = wd.findElements(By.xpath("//ul[@id='ui-id-1']/li/a"));
int randomCountryInt = (int) (Math.random() * countriesList.size());
WebElement country = countriesList.get(randomCountryInt); //IndexOutOfBoundsException exception is thrown
country.click();

通过单击“locationField”字段生成菜单(我的脚本中的“countriesList”)。如果我不最小化打开的窗口或不切换到另一个程序,则脚本运行成功。

4

1 回答 1

2

单击位置字段按钮后使用切换到窗口功能。

driver.switchTo().window("WindowName");
于 2012-11-06T09:27:49.407 回答