请参阅以下示例。每当我在行中使用i计数器时,我会看到以下错误消息:
错误:命令执行失败。请在http://clearspace.openqa.org的论坛中搜索日志窗口中的错误详细信息。错误消息是:table.rows [row]未定义
public static String verifyLinkedSubmissions(String articleTitle){
int rowCount=0;
String trueString="Submission is found";
String falseString="Submission is NOT found";
rowCount=browser.getXpathCount("//TABLE[@id='LinkedWithRepeater']/TBODY/TR").intValue();
for(int i=1; i<=rowCount; i++){
String val=selenium.getTable("LinkedWithRepeater."+i+".4");
if (val.equals(articleTitle)){
log.info("Title name "+articleTitle+" is found");
return trueString;
}
}
log.error("Title name: "+articleTitle+" is NOT found in the Linked Submissions");
return falseString;
}
如果我对行号进行硬编码,那么脚本运行顺畅。但我想要 在案例中搜索特定的文章标题并验证它是否存在于表格中。
感谢您的帮助。
答案 0 :(得分:3)
这里的问题是getTable
命令中的行和列引用必须从0开始。您需要更改for
循环,使其从0开始,如下所示:
for(int i=0; i<rowCount; i++) {
String val=selenium.getTable("LinkedWithRepeater."+i+".4");
if (val.equals(articleTitle)){
log.info("Title name "+articleTitle+" is found");
return trueString;
}
}
请注意,如果您未从0开始考虑,则可能还需要将列引用更改为3.
此外,在您的代码示例中,您在使用Selenium API命令时同时使用browser
和selenium
。我认为这是一个复制/粘贴错误,但您可能需要仔细检查。
有关xTable命令的详细信息,请参阅http://release.seleniumhq.org/selenium-core/1.0/reference.html#storeTable。