无法找到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