Как я могу утверждать, что гиперссылка указывает на данный URL? - PullRequest
2 голосов
/ 27 мая 2010

Я использую Selenium IDE и Selenium RC для проверки ссылок на веб-сайте, но мне не удается найти способ утверждать, что ссылка указывает на указанный URL-адрес и имеет указанный текст.

Ограничения:

  • найти элемент по dom или xpath не представляется возможным, поскольку это сделает тест хрупким
  • есть несколько элементов ссылки с одинаковым текстом ссылки

HTML:

<a href="path_x">link text</a>
<a href="path_y">link text</a>

Тест, который я хотел бы сделать (rspec):

page.is_element_present?("Href=path_y, Link=link text").should be_true
#locator parameters are in order of preference

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 27 мая 2010

я думаю get_attribute должно помочь. Вы должны получить href по ссылке, это атрибут.

1 голос
/ 28 мая 2010

Вы можете использовать isElementPresent следующим образом:

assertTrue(selenium.isElementPresent("//a[text()='Example Link' and @href='http://www.example.com/']");
1 голос
/ 27 мая 2010

С учетом следующего HTML:

<html>
   <body>
     <a id="myLink" href="http://www.example.com">Example Link</a>
   </body>
</html>

Вы можете использовать следующие команды Selenium (используя Java / TestNG и Selenium 1.x)

assertEquals(selenium.getText("id=myLink@href"), "Example Link");
assertEquals(selenium.getAttribute("id=myLink@href"), "http://www.example.com/");

Используя Selenium 2.xпример будет:

WebElement myLink = driver.findElement(By.id("myLink"));
assertEquals(myLink.getText(), "Example Link");
assertEquals(myLink.getAttribute("href"), "http://www.example.com/");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...