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

softAssert失败后找不到元素

衡玄裳
2023-03-14

即使其中一个软断言失败,测试也会继续。但是在我的例子中,我的测试在软断言失败后停止,因为找不到下一个测试元素

softAssert.assertTrue(p.OtsPage.fName().getAttribute("readonly").equals("true"), "field Name is Editable", "field Name is Read Only");
softAssert.assertTrue(p.OtsPage.fEditValue().isEnabled(), "field Edit Value is not Editable", "field Edit Value is Editable");

这可以正常工作,但如果我设置:

softAssert.assertFalse(p.OtsPage.fName().getAttribute("readonly").equals("true"), "field Name is Editable", "field Name is Read Only");
softAssert.assertFalse(p.OtsPage.fEditValue().isEnabled(), "field Edit Value is not Editable", "field Edit Value is Editable");

我收到以下错误消息:

组织。openqa。硒。无接触元素异常。第二个软断言!!!

测试停止。

环境:Selenium 3.5 geckodriver Mozilla 56.0.1。

共有1个答案

邹山
2023-03-14

这看起来与断言无关,因为正如您所提到的,第二行正在运行,但它会引发异常。您的问题可能在这里:p.OtsPage。fEditValue()。isEnabled()

更准确地说:NoTouchElementException是由WebDriver引发的。根据文档查找删除(按)。

您可能在fEditValue()函数中运行findElement(),您应该在那里搜索问题。确保在运行该函数时,该函数中由选择器表示的元素在页面上确实存在。

 类似资料:
  • 我正在用网页包装我的羔羊。我正在用CDK部署它们。 然而,当通过ApiGateway测试它们时,我得到了这个: Lambda执行失败,状态200由于客户函数错误:错误:找不到模块'apollo-server-lambda'。 这是我的Webpack配置: 执行输出文件,如

  • 无法同步分级。 错误:找不到com.android.tools.build:gradle:1.0.0。在以下位置搜索:文件:/e:/installed/androidsdk/gradle/m2repository/com/android/tools/build/gradle/1.0.0/gradle-1.0.0.pom文件:/e:/installed/androidsdk/gradle/m2rep

  • 我对Liquibase完全陌生,我设置了一个相当简单的项目来熟悉Liquibase。不幸的是,我似乎在第一步就失败了,这非常令人沮丧。 首先是我的变更日志。xml: 除此之外,我还有一个酒鬼。特性: 我的pom。xml如下所示: 当我运行mvn包我得到以下错误: 项目结构为:项目结构 对我来说,这似乎是模式的问题,但我仔细检查了一下,无法找出问题。很可能我在这里错过了一些非常明显的东西。

  • Kotlin:1.3.41 Groovy:2.5.4 Ant:Apache Ant(TM)版本1.9.14编译于2019年3月12日JVM:1.8.0_60(Oracle Corporation 25.60-B23)OS:Windows 10 10.0 amd64 C:\users\Michael> 由于以下原因,无法发布整个日志:您需要至少10个信誉才能发布超过8个链接。

  • 所以,我遇到了一个奇怪的问题。我想将gradle从升级到,但它不允许。 以下是我得到的错误: 我在看一些旧的帖子,他们都详细说明了它的要求和项目,但奇怪的是,上面是空白的。 下面是我的文件的样子: 我还在中检查了gradle路径,并将其设置为根目录。 日志也没有帮助,它说的和上面一样: 我做错了什么? 编辑: