pytest 中支持报告的的插件有很多,比如pytest-html, pytest-allure.

pytest-html 使用

安装

通过pip 进行安装,或者使用 pycharm 进行安装

  1. pip install pytest-html

image.png

使用

基本使用

  1. """
  2. 执行 testcases 下所有的测试用例,执行完成之后生成对应的测试报告
  3. 测试报告希望放到项目的根目录下的 reports目录
  4. """
  5. import pytest
  6. if __name__ == '__main__':
  7. # 使用pytest 运行 testcases目录下所有的测试用例,运行完成之后生成测试报告文件,文件名为report.html
  8. pytest.main(['testcases','--html=report.html', '--self-contained-html'])

运行main.py 文件, 执行成功之后,可以看到生成的测试报告。
image.png
使用浏览器打开报告文件。可以看到整体的执行情况
image.png

添加时间

  1. """
  2. 执行 testcases 下所有的测试用例,执行完成之后生成对应的测试报告
  3. 测试报告希望放到项目的根目录下的 reports目录
  4. 每次运行的时候生成的报告报告文件后跟上日期_时间
  5. """
  6. from common.utils import get_project_root
  7. import pytest
  8. import os
  9. import time
  10. if __name__ == '__main__':
  11. # 创建reports目录
  12. # 获取项目的根目录
  13. root = get_project_root()
  14. # 路径拼接
  15. reports = os.path.join(root,"reports")
  16. if not os.path.exists(reports):
  17. # 创建目录
  18. os.mkdir(reports)
  19. #在reports目录创建文件。文件名为了避免重复,文件名后跟时间
  20. filename = time.strftime("%Y_%m_%d_%H_%M_%S") # 年 月 日 时 分 秒
  21. reportfile = os.path.join(reports,"report_"+filename+".html")
  22. print(reportfile)
  23. # 使用pytest 运行 testcases目录下所有的测试用例,运行完成之后生成测试报告文件,文件名为report.html
  24. pytest.main(['testcases',f'--html={reportfile}', '--self-contained-html'])

运行,可以看到生成的报告会自动加上时间
image.png

附件

testreports.zip

视频

pytest接口测试.mp4 (269.14MB)