pytest-html测试报告这样写,某易测开都直呼:大哥受小弟一拜

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

安装

安装命令如下:

pip install pytest-html

使用

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

  • 命令行生成

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

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

    test_demo.py代码如下

    import pytest
    import requests, jsonclass TestDemo:def test_get_all_users(self):'''查询所有用户信息'''url = "http://127.0.0.1:5000/users"res = requests.get(url=url).textres = json.loads(res)assert res['code'] == 0def test_register(self):'''注册用户'''headers = {"Content-Type": "application/json;charset=utf8"}url = "http://127.0.0.1:5000/register"data = {"username": "张学友","password": "123456","sex": "0","telephone": "13823456789","address": "北京东城区"}res = requests.post(url=url, headers=headers, json=data).textres = json.loads(res)assert res['code'] == 0if __name__ == '__main__':pytest.main(["--html=接口自动化测试报告.html"])
    

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

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

 自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

报告展示

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

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

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

总结

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

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

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/214703.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ 安装(在docker容器中安装)

为什么要用? RabbitMQ是一个开源的消息代理和队列服务器,主要用于在不同的应用程序之间传递消息。它实现了高级消息队列协议(AMQP),并提供了一种异步协作机制,以帮助提高系统的性能和扩展性。 RabbitMQ的作…

Instrumentation 是什么?和 ActivityThread 是什么关系?

Instrumentation 可以理解为应用进程管家,ActivityThread 要执行创建或暂停某个 Activity 的操作时,都需要通过 Instrumentation 来进行具体的操作,即回调 Activity 的生命周期。 每一个应用程序只有一个 Instrumentation 对象,每…

17 redis集群方案

1、RedisCluster分布式集群解决方案 为了解决单机内存,并发等瓶颈,可使用此方案解决问题. Redis-cluster是一种服务器Sharding技术,Redis3.0以后版本正式提供支持。 这里的集群是指多主多从,不是一主多从。 2、redis集群的目标…

Rust UI开发(二):iced中如何为窗口添加icon图标

注:此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。 想要了解如何构建简单窗口的可以看本系列的第一篇: Rust UI开发:使用iced构建UI时,如何在界面显示中文字符 本篇是系…

哦?是吗|兜兜转转,最后还是选择了盖雅排班系统

在之前发布的和「人效案例集」中,我们为大家呈现了很多关于人效提升的理论方法,以及各家企业的人效提升提升实践。 回过头来,我们发现:排班管理渗透于人效九宫格之中,也因此成为很多企业人效提升的一个重要中介&#x…

《opencv实用探索·二》根据RGB的像素排列来理解图像深度、像素深度和位深度

通常对于RGB图像主要分为RGB16,RGB24和RGB32。RGB16从高位到低位的排列为R->G->B,RGB24和RGB32从高位到低位的排列为B->G->R。 RGB16: 16 位为一个存储单元(一个像素),来存储一个RGB像素;因为人眼对绿色比…

从零学算法400

400.给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …] 中找出并返回第 n 位上的数字。 示例 1: 输入:n 3 输出:3 示例 2: 输入:n 11 输出:0 解释:第…

乐得瑞LDR6020 VR串流线方案:实现同时充电传输视频信号

VR(Virtual Reality),俗称虚拟现实技术,是一项具有巨大潜力的技术创新,正在以惊人的速度改变我们的生活方式和体验,利用专门设计的设备,如头戴式显示器(VR头盔)、手柄、定…

Android Studio 显示build variants工具栏

工具栏: 如下图所示 依次点击View-->ToolWindows-->Build Variants。 在此记个笔记

P8 C++引用

前言 本期我们要讲的是 C 中的引用。 上期我们讨论了指针,如果你没有看过那期内容,你一定要回去看看,因为引用实际上只是指针的扩展,你至少需要在基本层面上理解指针是如何工作的,然后才能继续学习本期的内容&#xf…

「Whale 帷幄」连续入选科技榜单,AGI 冲击波正在加速行业洗牌

以 AGI 为底座,品牌 MarTech 正在经历一场前所未有的深度变革。 近日,弯弓研究院发布「中国 MarTech 500 强榜单」,以 2023 中国营销技术(MarTech)生态为研究对象,洞察行业现象与未来趋势。作为品牌数字化…