无法找到softAssert失败后的元素

即使其中一个软断言失败,测试也会继续。 但在我的情况下,我的测试在软件断言失败后停止,因为找不到下一个测试元素。无法找到softAssert失败后的元素

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");

我有以下错误信息:

org.openqa.selenium.NoSuchElementException。 第二次软断言!!!

并停止测试。

环境:Selenium 3.5 + geckodriver + Mozilla 56.0.1。

回答:

这看起来不是一个断言的问题,因为正如你所提到的第二行正在运行,但它会抛出异常。你的问题可能在这里:p.OtsPage.fEditValue().isEnabled()

更确切地说:根据docs,NoSuchElementException抛出WebDriver.findElement(By)

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

以上是 无法找到softAssert失败后的元素 的全部内容, 来源链接: utcz.com/qa/266195.html

回到顶部