我有一个导航栏,右侧有 2 个链接。当您单击其中一个链接时,您将进入相应的页面,并且该链接将突出显示。我想检查运行自动化测试时是否属于这种情况。我怎样才能做到这一点?
以下是我的java代码
@Test
public void testProductNavBar(){
assertTrue(driver.findElement(By.xpath("/html/body/nav[2]/div/div/ul/li[1]/a")).isSelected());
}
当我运行此命令时,测试失败并出现以下错误
java.lang.AssertionError at org.junit.Assert.fail(Assert.java:86)
at org.junit.Assert.assertTrue(Assert.java:41)
at org.junit.Assert.assertTrue(Assert.java:52)
我不确定这是否是解决此问题的正确方法。我对此还很陌生,因此非常感谢任何帮助!
最佳答案
这取决于链接的突出显示方式。它可能是通过 CSS 类实现的。检查该链接(右键单击它,您的浏览器将提供可让您检查它的内容),然后将其 CSS 与其他链接的 CSS 进行比较。
假设差异是一个名为“active”的类,那么您会执行类似的操作
assertTrue(driver.findElement(By.id(ID_OF_LINK)).getAttribute("class").contains("active"));
这是伪代码。您的语言/网络驱动程序可能有更好的方法来检查 WebElement 上的 CSS 类。
(旁白:您希望测试与之交互的所有内容都应该有一个 ID;在上面添加一个 ID 或要求页面作者这样做)
关于java - 如何使用 selenium 检查链接是否处于 Activity 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36393688/