问题是标记的测试失败,因为找不到元素,尽管使用了try catch。 描述: 我在用着 Configuration.assertionMode = AssertionMode.SOFT; 和 @Listeners({SoftAsserts.class})
不应该失败的方法:
public void logIn(String username, String pwd) {
$("#login_username").shouldBe(visible).clear();
$("#login_username").val(username);
$("#login_password").shouldBe(visible).clear();
$("#login_password").val(pwd);
$("#login_submit").click();
try {
$("#already_loggedin_continue").click();
} catch (ElementNotFound | SoftAssertionError | NoSuchElementException e) {
System.out.println("wasn't logined yet");
}
当我运行它时,我在控制台中看到我的sysout(因此捕获到异常)。 但是测试被标记为失败:
com.codeborne.selenide.ex.SoftAssertionError: Element not found {#already_loggedin_continue}
Expected: visible
Screenshot: file:/D:/WorkSpace2/AdaptDebug/build/reports/tests/1545146741686.0.png
Page source: file:/D:/WorkSpace2/AdaptDebug/build/reports/tests/1545146741686.0.html
Timeout: 15 s.
Caused by: NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"#already_loggedin_continue"}
如何修复它才能捕获异常?