如何在selenium中测试数据表

时间:2016-06-09 10:53:19

标签: selenium testing report

我想测试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列表也是空的。

1 个答案:

答案 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());}}