我们可以在try中处理Assert失败并在testNG中捕获

时间:2016-12-15 13:29:32

标签: java selenium selenium-webdriver testng assert

我正在尝试使用selenium webDriver + TestNG自动化应用程序。

我在其中使用多个断言语句     Assert.assertEquals(" Dhaval"," Dhaval1");

我试图通过try& amp来捕获assertionfail异常抓住了。 因为我正在填写测试结果的一张优秀表格。

但是,如果断言失败,应用程序直接停止执行和catch块将不会执行。

任何建议。

先谢谢!!!!

3 个答案:

答案 0 :(得分:2)

捕获测试断言的异常是一种不好的做法,它们是有原因的断言。 你想要做的是实现自定义ITestListener并在onTestFailure(ITestResult result)方法中定义所需的逻辑,如果case失败,将执行此方法中的代码。

答案 1 :(得分:1)

试试这个:

try {
Assert.assertEquals("Dhaval", "Dhaval1");
}
catch (AssertionError e) {
Assert.assertEquals("Dhaval", "Dhaval");
}

答案 2 :(得分:0)

如果您正在测试方法中处理测试结果以将其保存到电子表格中,那么您的做法就不好了。看看这里是否无效:http://www.techbeamers.com/save-selenium-webdriver-testng-result-excel/

否则,如果你真的需要这样做:

class Rhombus(Rectangle):

    def __init__(self, x=0.0, y=0.0, theta=45, base=1.0):
        self.theta = theta
        self.base = base
        super().__init__(x, y, theta)

        a = base * cos(radians(theta))
        b = base * sin(radians(theta))

        self.polygon = [
            x,        y,
            x+base,   y,
            x+base+a, y+b,
            x+a,      y+b
        ]