我正在尝试使用 Java 上的 Selenium 2.25 WebDriver 测试使用 GWT 2.3.0 和 GXT 2.2.5 编写的应用程序。
在应用程序中,我有一个带有大量选项的 ComboBox,以至于列表中有一个滚动条。我需要选择一个在列表中不可见的项目。
我使用以下代码运行测试:
//xpath for combobox trigger
String xpathExpression = "//div[starts-with(@id,'combobox ID']/descendant::img[contains(@class,'x-form-trigger-arrow')]";
driver.findElement(By.xpath(xpathExpression)).click();
//xpath for combobox list item
xpathExpression = "//div[contains(@class,'x-combo-list-item']/descendant::div[text()='item text']";
driver.findElement(By.xpath(xpathExpression)).click();
其中comboBoxID是我用来标识ComboBox 的ID 前缀,而项目文本是项目下拉列表中显示的文本。
如果该项目在页面上可见,则测试运行良好。如果该项目在列表中太远而无法看到,我会得到一个ElementNotVisibleException。
我有什么办法可以选择不可见的项目吗?