pytest改造实现case运行结果的统计
·
一、背景
我想要自己收集pytest的case运行结果数据
二、解决办法
在conftest.py文件中,加入如下方法:
def pytest_terminal_summary(terminalreporter, exitstatus, config):
total = terminalreporter._numcollected #这是所有的用例个数
passed = len(terminalreporter.stats.get('passed', [])) #这是运行成功的用例个数
failed = len(terminalreporter.stats.get('failed', [])) #这里运行失败的用例个数
skipped = len(terminalreporter.stats.get('skipped', [])) #这里是skip的运行个数
# duration = time.time() - terminalreporter._sessionstarttime #这里是运行的时间
# duration_time = round(duration, 2)
url = "xxxx" #这里是触发teams机器人通知的url
msg = f"Open Api Test Result: Total Cases:{total}; Passed:{passed}; Failed:{failed}; Skipped:{skipped}; Allure Report: http://xxxx/"
print(msg)
# body = {
# "groupId": "xxx", #这里是要通知的群的groupId
# "msg": msg #这里是要通知的内容
# }
# requests.Session().post(url, json=body, verify=False) #调接口触发机器人通知
就可以了
更多推荐
所有评论(0)