【发布时间】:2014-01-28 18:48:39
【问题描述】:
我是硒的新手。我在页面上有类似的链接,具有类似的 xpath(比如说链接 1 到 30)。我需要验证它们是否都存在于页面上(我希望 selenium 为每个元素打印类似“元素 1 存在”的内容)并且它们都是可点击的(新页面将打开)。 到目前为止,我有这段代码可以一一点击所有链接并打印它们的标题:
driver.get("http://anysite.com");
String part1=".//*[@id='footer']/div/div[1]/div[2]/ul/li[";
String part2="]/a";
for (int i=1;i<=30;i++){
String text = driver.findElement(By.xpath(part1+i+part2)).getText();
System.out.println(text);
driver.findElement(By.xpath(part1+i+part2)).click();
System.out.println(driver.getTitle());
driver.get("http://anysite.com");
我也有这个代码来分别验证每个链接的存在(如果我有 30 个链接,我必须复制这个代码 30 次):
if(driver.findElements(By.xpath(".//*[@id='footer']/div/div[1]/div[2]/ul/li[1]/a")).size() != 0){
System.out.println("Element Link 1 is Present");
}else{
System.out.println("Element Link 1 is Absent");
}
到目前为止,我有两个测试用例,有什么方法可以将这两个部分组合成一个漂亮的部分吗? 谢谢!
【问题讨论】:
-
我已经读了好几遍了,我不明白你在问什么。比如说,你能展示 3 个重复代码的实例吗?