2013-07-04 1 views
0

링크가 웹 페이지에 있는지 테스트하고있었습니다. 예를 들어 "Selenium Videos"의 특정 텍스트가 <a></a> 태그에 있는지 테스트하고 있습니다. 그러나 두 개의 동일한 링크가 있습니다 (예 : "How to Master QTP?"). 페이지 오른쪽에는 Recent free LIVE webinars의 두 번째 링크가 있습니다. 같은 링크 텍스트가있는이 두 개의 다른 링크를 테스트하는 방법을 모르겠습니다. 아래에 설명 된 함수를 사용하면 두 번째 링크 텍스트를 검색하지만 첫 번째 링크 텍스트를 찾으면 true를 반환합니다. 도와주세요.동일한 텍스트로 2 개의 다른 링크를 테스트하는 방법은 무엇입니까?

링크를 테스트하려면 다음 기능을 사용하고 있습니다.

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 
+0

특정 웹 사이트에 대해 fot해야합니까 ??? 그렇다면 해당 웹 사이트에 대한 링크를 제공 할 수 있습니까? – Mathlight

+0

@ user1177636 네 말이 맞아! –

+0

감사합니다. 나는 그것을했다. – user2467785

답변

0

xpath를 사용하고 xpath에 상위 요소 또는 형제 요소를 포함합니다. 당신은 xpath에서 이들을 사용할 수있는 두 개의 다른 레이블이나 desc를 언급했습니다.

+0

감사합니다. 그 함수에 xPath를 추가했는데 그 링크를 찾을 수있었습니다. – user2467785

+0

솔직히, 어떻게 그 질문에서 그걸 얻습니까? 그 대답이 적절한 로케이터를 사용하지만 왜 XPath를 사용해야하는 것인지 이해할 수 있습니까? XPath에 부모 또는 형제를 포함해야하는 이유는 무엇입니까? HTML 없이는 어떻게 알 수 있습니까? – Ardesco

관련 문제