我正在尝试使用selenium webDriver + TestNG自动化应用程序。
我在其中使用多个断言语句 Assert.assertEquals(" Dhaval"," Dhaval1");
我试图通过try& amp来捕获assertionfail异常抓住了。 因为我正在填写测试结果的一张优秀表格。
但是,如果断言失败,应用程序直接停止执行和catch块将不会执行。
任何建议。
先谢谢!!!!
答案 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
]