Selenium 处理table

上一篇 / 下一篇  2010-07-18 14:09:20 / 个人分类:Selenium

    通常页面上需要验证一个table里头的值对不对,这个table一般都没有id,所以可以用xpath来解决。

    第一步:识别该table 的某个cell。这里要注意通常一个table的第一行是表头,第二行才是具体的值,selenium识别行列从1开始数的,不是0.所以一个table的第1行第1列的值应该是:

//table[@class='myTable']/tbody/tr[2]/td[1]

 

   第二步:加入验证点。

    首先要考虑这个table是不是存在,不存在就直接assertExist返回.

    然后考虑这个table是不是会返回很多行,如果需要验证每一行的这一列都是某个固定值,则用循环来控制:

  String table = "//table[@class='myTable']/tbody/tr";

  int rowNumber = selenium.getXpathCount(table).intValue();
  for (int i = 0; i <= rowNumber; i++) {
   path = table+ "[" + Integer.toString(i) + "]/td["
     + column + "]";
   if (isElementPresent(path)) {
    String data = getText(path);
    assertEquals(data, myexpectData);
   }
  }
 }

   第三步:如果是验证table的某列含有某个值:

  selenium.isElementPresent("//td[contains(text(),'my required text for verifying')]")

  也可以用:selenium.getText(path)得到那一列的值再判断:

    boolean exist = data.contains(myexpectData);
    assertEquals(exist, true);

 

 


TAG:

 

评分:0

我来说两句

Open Toolbar