我想测试html表中的数据。并使用包含人员信息的数据库进行验证。下面是代码。现在我被困在创建断言,如何收集行值或列表的值列表
@Test
public void TestingReport()
{
driver.findElement(By.xpath(".//*[@id='content']/h2[2]/a")).click(); // click on admin
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.findElement(By.xpath("//*[@id='content']/h2[2]/a")).click(); // click on staff member
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
// ArrayList<ArrayList> ActualReport= new ArrayList<ArrayList>();
List<WebElement> tablerow = driver.findElements(By.xpath("//table//tr"));
ArrayList <String> cellsStr = new ArrayList<>();
ArrayList<List> table = new ArrayList<>();
List<WebElement> cells= null ;
// System.out.println(tablerow.size());
for(int i=1;i<tablerow.size();i++) {
cells = driver.findElements(By.xpath("//tr["+i+"]//td"));
// table.add(cells);
for(int j=4;j<cells.size();j++)
{
System.out.println(cells.get(j).getText());
cellsStr.add(cells.get(j).getText());
}
System.out.println(cellsStr);
table.add(cellsStr);
System.out.println(table);
System.out.println(cellsStr);
}
System.out.println(table);
}
这里我试图让一个Stra in到一个字符串的Arraylist,但是在下一次迭代之前我正在清除字符串的Arraylist,但是它使得List of array列表也是空的。
答案 0 :(得分:0)
以下内容有助于从值列表中获取数据。
List<WebElement> tablerow = driver.findElements(By.xpath("//table//tr"));
for(int i=1;i<tablerow.size();i++)
{
List<WebElement> cells= tablerow.get(i).findElements(By.tagName("td"));
for(int j=4;j<cells.size();j++){
List<WebElement> cellSubRow= cells.get(i).findElements(By.tagName("td"));
System.out.println(cellSubRow.get(j).getText());}}