pytest做自动化测试时,希望能够遇到断言失败后发送企业微信通知,且生成allure报告
import pytest
class Testclas():
def test12(self):
print('\n')
print('调用请求接口')
a = 0
try:
assert a != 0
except:
print('发送企业微信通知')
raise
kasd.py::Testclas::test12 RERUN [100%]
kasd.py::Testclas::test12 FAILED [100%]
调用请求接口
发送企业微信通知
调用请求接口
发送企业微信通知
因为断言失败后不会继续执行下面的代码,所以我是使用try捕获断言失败异常,断言失败后去调用发送企业接口通知接口;这样有一个问题,就是因为try捕获了断言失败异常,导致异常没有上送,allure报告中失败接口显示的结果也是成功的,此时我使用了raise上送异常,这样做后产生了另一个问题,就只导致代码执行了两遍
发送异常时,生成的allure报告结果正确,且能给企业微信发送消息
捕获了断言失败异常,为啥没上送?