我正在使用Selenium IDE和Selenium RC检查网站上的链接,但我找不到断言链接指向指定网址并具有指定文本的方法。
约束:
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
有什么想法吗?
答案 0 :(得分:2)
我猜get_attribute
应该有所帮助。你应该从链接获得href
,这是属性。
答案 1 :(得分:1)
给出以下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/");
答案 2 :(得分:1)
您可以使用isElementPresent
,如下所示:
assertTrue(selenium.isElementPresent("//a[text()='Example Link' and @href='http://www.example.com/']");