Selenium 对表格的验证

发表于:2010-9-01 13:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小刀    来源:51Testing软件测试博客

  通常页面上需要验证一个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 = "//div/table[@class='main-table']/tbody/tr";
String tr = "//div/table[@class='main-table']/thead/tr/th";

int rowNumber = selenium.getXpathCount(table).intValue();
int lineNumber = selenium.getXpathCount(tr).intValue();

for (int i = 1; i <= rowNumber; i++) {
for (int j = 1; j <= lineNumber; j++) {
String path = table + "[" + i + "]/td[" + j + "]";
if (selenium.isElementPresent(path)) {
String data = selenium.getText(path);
assertNotNull(data);
}
}
}

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

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

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

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

版权声明:本文出自小刀的51Testing软件测试博客:http://www.51testing.com/?128005 

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号