在UI自动化测试中经常会遇到表格的处理,下面是一点心得。
假设网页页面有一个表格,如何获取这个table的指定cell的值?你会说我们可以根据xpath定位到这个cell的行列,然后getText(),不错,但是页面的表格经常都不是固定的,如果这个表格增加或删除一些行列该如何处理?
我们可以把这个问题抽象出来,所有的html table不外乎是由 table 元素以及一个或多个 tr、th 或 td 元素组成,我们可以将行和列参数化,通过传入行和列的值获取返回的text信息。
这样我们可以根据输入参数获取任意一个cell的信息了。
public static String tableCell(WebDriver driver,int row, int column) { String text = null; //去掉表头 row=row+1; String xpath="//*[@id='xxxx']/tbody/tr["+row+"]/td["+column+"]"; WebElement table=driver.findElement(By.xpath(xpath)); text=table.getText(); return text; }