【问题标题】:How to verify links and click on them in Selenium webdriver Java如何在 Selenium webdriver Java 中验证链接并单击它们
【发布时间】: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 个重复代码的实例吗?

标签: java selenium xpath


【解决方案1】:

在字符串 1 中,您将 xpath 视为:

String part1=".//*[@id='footer']/div/div[1]/div[2]/ul/li[";

虽然它应该是:

String part1="//*[@id='footer']/div/div[1]/div[2]/ul/li[";

您需要删除点“。”来自你的 xpath。

【讨论】:

    猜你喜欢
    • 2021-12-21
    • 2017-12-26
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多