在 Selenium 中使用 TestNG 时不应该使用异常处理吗?

Shouldn't we use exception handling when we use TestNG in Selenium?

我正在研究 selenium 关键字驱动的框架。我正在对关键字调用的方法使用异常处理。以下是我正在使用的方法之一。

public void adminvehicletitle(WebElement vehicletitle, String title) {
        LogUtilities.info("------------ Entering vehicle title on admin post vehicle page --------");
        try {
            vehicletitle.sendKeys(title);
            LogUtilities.info("------------ Vehicle title Entered successfully on admin post vehicle page --------");
        }
        catch(Exception e) {
            LogUtilities.error("------------ "+e+" --------");
        }
    }

现在我将车辆标题显示为 none 所以它不可见。当我 运行 使用 TestNG 进行测试时,即使在日志中显示错误,它现在也通过了。在报告中还显示所有测试用例都已通过。

所以我现在的问题是,我们不应该对 TestNG 使用异常处理吗?有人可以回答吗?

谢谢。

在测试开发中,吞噬异常是一种错误的做法。你必须回到测试中。如果测试抛出预期,那么在通常的积极案例中它是一个失败案例。所以它必须被标记为失败。如果你尝试 catch,testng 不会将其标记为失败。

由于 Selenium 方法抛出 RunTimeException,因此在您的情况下不需要在此处显式抛出。

如果您有兴趣记录失败案例的异常,请使用 testng listner 根据测试结果进行记录。

参考this blog的例子。

如果你愿意登录,有期待的时候