如何使用硒迭代表格?
我有一个名为UserManagement的表,其中包含有关用户的信息。每当创建新用户时,都会更新此表。如果我创建两个用户,那么我需要检查两个用户是否实际创建。表包含ID,UserName,FirstName,LastName,Bdate..ctc。这里ID将自动生成。
我正在运行Selenium-TestNG脚本。使用Selenium时,如何获取我创建的两个用户的用户名?我是否需要遍历表?如果是的话如何迭代表格?如何使用硒迭代表格?
使用ISelenium.GetTable(string)获取所需表格单元格的内容。例如, selenium.GetTable("UserManagement.0.1");
将返回表的第一行和第二列的内容。然后,您可以声明表中正确的用户名或用户名。
获取可变行数
使用Selenium.getxpathcount(\ @ ID = fjsfj \ TD \ TR“)行的计数给所述列数以可变
例:
int colcount = 5;
给的REQ,即新用户
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;
}
}
我尝试了与您提供的相同解决方案。但是,如果你使用一个静态的行,它不会使用xpath,而是使用我的(计数器)。其他可能的解决方案 – sam 2011-01-16 15:28:48
获取使用的行数:
int noOfRowsInTable = selenium.getXpathCount("//table[@id='TableId']//tr");
如果你想要得到的用户名是在固定的位置,假设在第2位,则每行迭代下面给出:
selenium.getText("xpath=//table[@id='TableId']//tr//td[1]");
注:我们可以使用相同的程序找到该表中的列数
int noOfColumnsInTable = selenium.getXpathCount("//table[@id='TableId']//tr//td");
一般来说,这样的事情?
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
我试图使用它同在一个循环为selenium.GetTable(“UserManagement.i.1”),我想通过循环迭代,但它不会work..instead selenium.GetTable(“UserManagement.0.1 “)它的工作原理..很奇怪为什么 – sam 2011-01-16 15:30:05
@sam我迭代了什么值? – 2011-01-16 18:50:58
以下是我正在尝试做的事 我是一个numof行的计数器。 对于i为整数= 1要NumOfRows 昏暗strTableColumn作为字符串= selenium.GetTable( “Group.i.1”) 如果(strTableColumn = PWORD)然后 返回值= I IsFound =真 退出对于 结束如果 Next – sam 2011-01-17 08:16:13