• 全网最牛的pytest从0到1全套教程-pytest(2)-pytest-html测试报告


    前言

    【文章末尾个给大家留下了大量的福利】

     

    上一篇文章pytest简介中,执行测试用例后,在 pycharm 控制台(方式一)或 Terminal(方式二)中可以查看测试结果。但是在实际的接口自动化项目中一般需要生成直观的测试报告,这个测试报告聚合了所有测试用例的执行情况。

    在 pytest 中提供了生成html格式测试报告的插件 pytest-html

    安装

    安装命令如下:

    pip install pytest-html
    

    使用

    我们已经知道执行用例的两种方式,pytest.main()执行和命令行执行,而要使用pytest-html生成报告,只需要在执行时加入参数--html=报告完整路径,所以同样有两种生成报告的方式。

    • 命令行生成

      1. # 指定报告名称,生成在当前目录下
      2. pytest --html=接口自动化测试报告.html
      3. # 指定报告生成路径
      4. pytest --html=E:/report/接口自动化测试报告.html
    • pytest.main()生成

      使用pytest.main()同样也可以生成测试用例,但需要注意,直接在测试用例里面执行pytest.main([--html=报告名称.html"])不会生成测试报告,而是需要在项目执行文件如run.py中使用pytest.main([--html=接口自动化测试报告.html"]),然后再运行run.py文件,才会生成报告。例如:

      test_demo.py代码如下

      1. import pytest
      2. import requests, json
      3. class TestDemo:
      4. def test_get_all_users(self):
      5. '''查询所有用户信息'''
      6. url = "http://127.0.0.1:5000/users"
      7. res = requests.get(url=url).text
      8. res = json.loads(res)
      9. assert res['code'] == 0
      10. def test_register(self):
      11. '''注册用户'''
      12. headers = {"Content-Type": "application/json;charset=utf8"}
      13. url = "http://127.0.0.1:5000/register"
      14. data = {
      15. "username": "张学友",
      16. "password": "123456",
      17. "sex": "0",
      18. "telephone": "13823456789",
      19. "address": "北京东城区"
      20. }
      21. res = requests.post(url=url, headers=headers, json=data).text
      22. res = json.loads(res)
      23. assert res['code'] == 0
      24. if __name__ == '__main__':
      25. pytest.main(["--html=接口自动化测试报告.html"])

      这里直接运行test_demo.py不能生成测试报告,需要编写专门的运行模块,run.py代码如下:

      1. import pytest
      2. if __name__ == '__main__':
      3. pytest.main(['--html=接口自动化测试报告.html'])

    报告展示

    运行后会生成 assets 的文件夹以及 .html 文件,.html 文件就是测试报告,结果如下:

    在浏览器中打开后展示如下:

    点击报告Results中对应的测试用例,能展示具体的执行日志。

    总结

    使用pytest-html生成的测试报告相对较为简洁,展示内容也相对精简,对报告样式要求不高的话完全够用了。

    当然,pytest 还可以结合 Allure 生成更为强大的测试报告,这个留后面探究。

     重点:学习资料学习当然离不开资料,这里当然也给你们准备了600G的学习资料

    【需要的可以扫描文章末尾的官方二维码自助拿走】

    【记得(备注“csdn000”)】

    群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

    项目实战:

    大型电商平台:

    全套软件测试自动化测试教学视频

    300G教程资料下载【视频教程+PPT+项目源码】

    全套软件测试自动化测试大厂面经

    python自动化测试++全套模板+性能测试

    听说关注我并三连的铁汁都已经升职加薪暴富了哦!!!!

  • 相关阅读:
    每天一个设计模式之过滤器模式(Filter/Criteria Pattern)
    RocketMQ的ACL需求背景及其设计
    2022HDC见闻与新技术学习体验分享
    k8s自动化运维八-如何清理docker存储的大文件
    Lambda 在集合中的应用
    c#对接webservice接口
    信息系统项目管理师---第十二章 项目采购管理历年考题
    闲鱼垃圾评论检测2019CIKM《Spam Review Detection with Graph Convolutional Networks》
    你能懂的 Reflect 反射
    数组内容整体左移一次
  • 原文地址:https://blog.csdn.net/m0_60054525/article/details/126510933