当前位置: 首页 > 面试题库 >

使用Selenium WebDriver和Java断言WebElement不存在

姜旭
2023-03-14
问题内容

在我编写的测试中,如果要断言页面上存在WebElement,可以执行以下操作:

driver.findElement(By.linkText("Test Search"));

如果存在,它将通过,如果不存在,则将炸毁。但现在我想断言的链接本身 并不 存在。我不清楚如何执行此操作,因为上面的代码未返回布尔值。

编辑 这就是我想出自己的解决方案的方式,我想知道是否还有更好的方法。

public static void assertLinkNotPresent (WebDriver driver, String text) throws Exception {
List<WebElement> bob = driver.findElements(By.linkText(text));
  if (bob.isEmpty() == false) {
    throw new Exception (text + " (Link is present)");
  }
}

问题答案:

不确定您所指的是哪个版本的硒,但是硒*中的某些命令现在可以执行此操作:http : //release.seleniumhq.org/selenium-
core/0.8.0/reference.html

  • assertNotSomethingSelected
  • assertTextNotPresent

等等..



 类似资料:
  • 我以标准方式在Java中使用断言,在IDE中启用它们。因此,它们不是产品发布的一部分。最近,我看到了<code>抛出新的断言错误()的代码示例 我的猜测是,主要区别在于断言的可选性,因此它们不会减慢生产性能,因此它们可以在代码中经常发生,但修复用户报告的几乎无法重现的错误更难。 对于,正好相反。 我还发现在代码中不应该执行的地方更实用,而不是使用。特别是如果需要返回值。例如: 我的推理正确吗 两种

  • 我正在尝试播放以下网站的视频(使用JUnit)-Day01。http://www.itelearn.com/live-training/security-testing-live-training我试图实现的是,在播放视频后,我将拍摄一张屏幕截图,以证明视频播放正确。点击Day01视频后,它会在一个新窗口中打开——当我查看代码时,我意识到他们使用了iFrame。我可以关闭此视频窗口,但无法播放/暂

  • 问题内容: 我有一个需要测试的响应式网站。如果网站转到平板电脑的窗口大小,我希望测试检查是否有水平滚动条。根据设计,它们永远不会出现在平板电脑上。 是否有人使用Selenium Webdriver Java Cucumber拥有一段伪代码来断言水平滚动条的存在? 问题答案: 您可以使用以下方法进行测试: 垂直滚动条: 水平滚动条:

  • 问题内容: 我想知道为什么关键字在Java中使用不足?我几乎从未见过使用它们,但是我认为它们是个好主意。我当然更喜欢简洁: 冗长的 我怀疑它们没有得到充分利用,因为 他们来得相对较晚(Java 1.4),到那时,许多人已经建立了Java编程风格/习惯 它们默认在运行时关闭 问题答案: __理论上, 断言 是用于测试不变式的假设,这些假设 必须 正确才能使代码正确完成。 所示示例测试了有效输入,这不

  • 我正在用java开发一个程序,该程序使用opencv库获取一个图像文件夹并裁剪人脸。它使用了OpenCV中的人脸识别。我使用了它,但当我尝试使用更大的图像文件夹时,它会出现以下错误: OpenCV错误:Cv::OutOfMemoryError中内存不足(无法分配411068928字节),文件C:\builds\master_packslaveAddon-Win32-VC12-static\Open

  • 我有一些。 不是像、、之类的任何类型的元素定位器,而是本身。 我如何检查是否存在/呈现等? 我可以在-块中应用类似或之类的这也应该是一些通用的东西,而不是所有的元素都是可见的或可点击的。 再一次,我问的是实例本身,所以所有这些关于元素定位器的问题都是无关的。