1. 程式人生 > >Selenium 處理table

Selenium 處理table

                通常頁面上需要驗證一個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);