当前位置: 首页 > 知识库问答 >
问题:

Selenium+Java=断言错误

乐正心思
2023-03-14
public boolean AssertSearch() {                 
    return driver.getPageSource().contains("Item found");               
}
assertTrue(buscarnok.validabuscaNOK());

而我不断收到消息“断言错误”。我不知道为什么。如果我将“return driver.getPageSource().contains(”item found“);”更改为driver.findelement(by.id(“someid”)).issplayed();它工作得很好,那么为什么它不能与getPageSource一起工作呢?

共有1个答案

施靖
2023-03-14

如果您要查找的文本最初不在页面中,或者它被隐藏,则可能找不到它。

尝试如下所示:

String bodyText = driver.findElement(By.tagName("body")).getText();
Assert.assertTrue("Item Found", bodyText.contains(text));

您可以通过选择不同的标记名,甚至通过ID选择div来缩小搜索范围

 类似资料:
  • 我的第二次尝试和捕获语句不起作用。问题出在哪里?即验证空车。显示了一个结果,但没有显示另一个结果。我已经加粗显示的。

  • 问题内容: 在我编写的测试中,如果要断言页面上存在WebElement,可以执行以下操作: 如果存在,它将通过,如果不存在,则将炸毁。但现在我想断言的链接本身 并不 存在。我不清楚如何执行此操作,因为上面的代码未返回布尔值。 编辑 这就是我想出自己的解决方案的方式,我想知道是否还有更好的方法。 问题答案: 不确定您所指的是哪个版本的硒,但是硒*中的某些命令现在可以执行此操作:http : //re

  • 知道我该怎么解决吗?

  • 我目前正在从2.3.7版更新我的Spring Boot项目。更新到任何版本时 该项目有两个模块。一个用于Spring Boot后端,一个用于Angular前端。我在客户端使用前端maven插件。 maven日志中的最后一步是:maven编译器插件:3.8.0:testCompile(默认testCompile)@ 我得到的堆栈跟踪没有告诉我很多关于如何解决问题的信息。有人知道确切的问题是什么吗?

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

  • 问题内容: 今天,我看到了一个带有Java断言而不是JUnit断言的JUnit测试用例-相对于另一个而言,优先选择一个优点还是缺点? 问题答案: 在JUnit4中,JUnit断言引发的异常(实际上是Error)与java 关键字(AssertionError)引发的错误相同,因此它与堆栈跟踪完全相同,除了您无法分辨出其区别。 话虽这么说,断言必须在JVM中使用特殊标志运行,导致许多测试似乎通过了,