如何使用selenium迭代表?

时间:2010-06-14 09:36:07

标签: selenium-rc

我有一个名为UserManagement的表,其中包含有关用户的信息。每当创建新用户时,此表都会更新。如果我创建两个用户,那么我需要检查是否实际创建了两个用户。表包含ID,UserName,FirstName,LastName,Bdate..ctc。这里将自动生成ID                   我正在运行Selenium-TestNG脚本。使用Selenium,我如何获得我创建的两个用户的UserName?我应该迭代表吗?如果是这样,如何遍历表格?

4 个答案:

答案 0 :(得分:2)

使用ISelenium.GetTable(string)获取所需表格单元格的内容。例如,   selenium.GetTable("UserManagement.0.1"); 将返回表的第一行和第二列的内容。然后,您可以断言表中显示正确的用户名或用户名。

答案 1 :(得分:1)

在变量rowcount中使用Selenium.getxpathcount(\ @ id = fjsfj \ td \ tr“)获取行数

将columncount放在变量

前:

int colcount = 5;

提供要求,即新用户

String user1 = "ABC"

for(i = 0;i <=rowcount;i++)
{
   for(j=0;j<=colcount;j++)
   {
      if (user1==selenium.gettable("//@[id=dldl/tbody" +i "td"+j))
      {
         system.out.println(user1  + "Inserted");
         break;
      }
      break;
   }
}

答案 2 :(得分:1)

使用以下方式获取行数:

int noOfRowsInTable = selenium.getXpathCount("//table[@id='TableId']//tr");

如果你想获得的UserName位于固定位置,那么让我们说在第二个位置,然后为每一行迭代,如下所示:

selenium.getText("xpath=//table[@id='TableId']//tr//td[1]");

注意:我们可以使用相同的程序找到该表中的列数

int noOfColumnsInTable = selenium.getXpathCount("//table[@id='TableId']//tr//td");

答案 3 :(得分:0)

一般来说,这样的事情?

table = @browser.table(:id,'tableID')
table.rows.each do |row|
    # perform row operations here
    row.cells.each do |cell|
        # do cell operations here
   end
end