我有一个HTML页面并创建了该页面的页面对象。此页面包含动态html表。我无法将其用作页面对象,因为它是动态创建的。我想在我的测试用例中使用页面的任何行和列。
页面对象类:
ListView
![页面图片] [1]:http://i.stack.imgur.com/o94F0.png
我不想在我的测试用例中使用任何xpath或任何循环来遍历表的各行。我只想像使用AgentsPage.submit按钮那样使用任何其他静态页面对象元素。如何实现这一目标?
答案 0 :(得分:0)
没有xPath,你甚至无法找到表中所需的元素(你可以使用CssSelectors,但它们是相同的)。
做得对我建议您创建一个包含表格行(<tr>
标签)的网络元素列表。此列表应由@FindBy
属性初始化。
然后我认为创建&#34;得到&#34;是个好主意。数据的方法。
例如:
public String getName(int row, int cell)
{
return theTable[row].findElement(By.xpath(".//td[" + cell + "]")).getText();
}
答案 1 :(得分:0)
将行号,电话号码,姓名等等项目存储在自己的列表中。您可以使用流轻松地将数据作为字符串获取。
@FindBy(xpath="xpath to the row number")
private List<WebElement> rowNum;
@FindBy(xpath="xpath to the phone number")
private List<WebElement> phoneNum;
同样适用于其他两个。数据将按照页面上的顺序排列。您可以使用列表中的索引轻松访问数据。