Pytest框架: - Hooks函数统计测试结果
用例执行完成后我们希望能获取到执行结果,这样方便我们快速统计用例的执行情况
也可以把获取到的结果当成总结报告,发邮件或者钉钉群通知的时候可以先统计测试结果,再加上allure报告。这样子测试结果就很直观
pytest_terminal_summary
关于TerminalReporter
类可以在_pytest.terminal
中查看到
-
from _pytest import terminal
-
pytest_terminal_summary(terminalreporter, exitstatus, config)
-
最后的结果汇总,可以拿到所有的执行结果
-
参数:
-
- terminalreporter (_pytest.terminal.TerminalReporter) – 内部使用的终端测试报告对象
-
- exitstatus (int) – 返回给操作系统的返回码
-
- config(_pytest.config.Config) - pytest config对象
所有测试执行完毕之后,返回exit status
之前的阶段。会调用pytest_terminal_summary
向terminal
打印一些summary
信息,比如pass、fail、error
数量之类的总结信息
再conftest.py
中写个pytest_terminal_summary
函数收集测试结果
-
#!/usr/bin/python3
-
# coding=utf-8
-
# Author: 文
-
-
def pytest_terminal_summary(terminalreporter, exitstatus, config):
-
"""统计次数结果"""
-
case_dict = {}
-
case_dict["case_pass"] = len(terminalreporter.stats.get('passed', [])) # 通过
-
case_dict["case_fail"] = len(terminalreporter.stats.get('failed', [])) # 失败
-
case_dict["case_error"] = len(terminalreporter.stats.get('error', [])) # 错误
-
case_dict["case_skip"] = len(terminalreporter.stats.get('skipped', [])) # 跳过
-
case_dict["case_xfail"] = len(terminalreporter.stats.get('xfailed', [])) # 标记失败-执行失败
-
case_dict["case_xpass"] = len(terminalreporter.stats.get('xpassed', [])) # 标记失败-执行成功
-
case_dict["case_rerun"] = len(terminalreporter.stats.get('rerun', [])) # 失败重跑总次数
-
case_dict["case_time"] = round(time() - terminalreporter._sessionstarttime, 2) # 测试用时,保留两位
-
print(case_dict)
执行结果如下:
-
{'case_pass': 67, 'case_fail': 8, 'case_error': 0, 'case_skip': 2, 'case_xfail': 1, 'case_xpass': 1, 'case_rerun': 26, 'case_time': 25.95}
-
=============================================== short test summary info ===============================================
-
pytest_assume.plugin.FailedAssumption:
-
====================== 8 failed, 67 passed, 2 skipped, 1 xfailed, 1 xpassed, 26 rerun in 25.97s =======================
注:在通过pytest-xdist
多进程执行测试用例时,会执行进程数 1次;即子进程数 最后合计的
这篇好文章是转载于:编程之路
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 编程之路
- 本文地址: /boutique/detail/tanhhgbcge
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22