【问题标题】:How to test 2 different links with same text?如何使用相同的文本测试 2 个不同的链接?
【发布时间】:2013-07-04 20:16:56
【问题描述】:

我正在测试链接是否存在于网页上。为此,我正在测试 ex "Selenium Videos" 的特定文本是否在 <a></a> 标记中。但是有两个相同的链接,例如--"How to Master QTP?" 在菜单的第一个页面上,第二个在页面右侧的Recent free LIVE webinars 上。我不知道如何测试这两个具有相同链接文本的不同链接。使用下面编写的函数,如果我正在搜索第二个链接文本,它将返回 true,但它会找到第一个链接文本。请帮忙。

我正在使用以下函数来测试链接。

public static String checkLink(WebDriver driver,String linkText)
    {
        //purpose : check if the link for text is available 
        //ip: driver,xPath,Data
        try
        {

        List <WebElement> links = driver.findElements(By.tagName("a"));
        for(WebElement we : links) 
        {
           if(linkText.equals(we.getText())) 
           {
                System.out.println("Link text from excel is:" + linkText);
                System.out.println("Link text from element is:" + we.getText());

              return "Pass";
           }//if
        }//for
    }
    catch(Exception e)
    {
        return "Fail";
    }//catch
    return "Fail";
}//enter text

【问题讨论】:

  • 是否需要针对 1 个特定网站?如果是这样,您能否提供该网站的链接?
  • @user1177636 你是对的!

标签: java testing selenium-webdriver


【解决方案1】:

使用 xpath 并在 xpath 中包含父元素或兄弟元素。您提到了两个不同的标签或描述,您可以在 xpath 中使用它们

【讨论】:

  • 谢谢大家。我在该函数中添加了 xPath,我可以找到这些链接。
  • 老实说,你到底是怎么从这个问题中得到的?如果答案是使用适当的定位器,我可以理解,但为什么要专门使用 XPath?为什么需要在 XPath 中包含父级或兄弟级?没有 HTML 怎么知道?
猜你喜欢
  • 2016-04-03
  • 2021-12-06
  • 2011-07-24
  • 1970-01-01
  • 1970-01-01
  • 2017-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多