Pat*_*gee 5 webdriver selenium-webdriver
我搜索了谷歌代码上托管的Selenium Webdriver APi文档.目前使用PageFactory来初始化我的Page对象,但是有问题初始化WebElement列表.
我需要的是一种初始化元素列表的方法,理想情况下是一个下拉选择框列表.
我查看了对@Findsby和@ByChained的API引用,但仍然无法找到初始化下拉选择框列表的最佳方法.我可以为每个人分配一个单独的WebElement并获取ID但是我想初始化List选择列表
public class PageObject {
@FindBy(id="element_id")
private WebElement element;
public getElement() {
return element;
}
}
Run Code Online (Sandbox Code Playgroud)
public class PageObject {
@FindBys(className="selectItmes")
private List<WebElement> selects;
public List<WebElement> getSelects() {
return selects;
}
}
Run Code Online (Sandbox Code Playgroud)
或者我必须为每个元素使用一个Web元素吗?:(
任何人都知道如何使用PageFactory并初始化List元素; 使用FindsBy注释.我找不到任何办法这样做但是在selenium google docs网站上有谷歌问题说这已经在Java api绑定和版本2.12中得到修复,因为它在2.11中被误认为是......我仍然可以' t初始化列表.= /
最近在Selenium 2.0中添加了此功能.检查此问题.现在修好了.
从文档中,你可以做类似的事情,
@FindAllBy(className="selectItmes")
List<WebElement> selects;
Run Code Online (Sandbox Code Playgroud)
如果你有兴趣的代码,检查这出
小智 4
这是我在测试框架中所做的标准解决方案,直到 @FindAllBy 在 Selenium 库中不起作用:
private List<WebElement> selects;
public List<WebElement> getSelects() {
selects = getDriver().findElements(By.xpath("..."));
return selects;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30114 次 |
| 最近记录: |