python+pytest单元测试框架之生成各种格式测试报告

简介: 前面讲到使用pytest执行单个、多个或指定的测试用例。接下来讲解下通过运行测试用例,怎么来生成不同格式的测试报告首先,创建test_calss.py 测试用例文件,这里以测试该文件为例#coding:utf-8class TestClass(...

前面讲到使用pytest执行单个、多个或指定的测试用例。接下来讲解下通过运行测试用例,怎么来生成不同格式的测试报告

首先,创建test_calss.py 测试用例文件,这里以测试该文件为例

#coding:utf-8

class TestClass():

    def test_one(self):

        x = "this"

        assert "h" in x

    def test_two(self):

        x = "hello"

        assert x == "hi"

    def test_three(self):

        x = "world"

        assert x != "worl"

一、生成ResultLog文件

1.在CMD中切换到该测试用例路径下,执行指令:py.test test_class.py --resultlog=./log.txt  (其中./log.txt为生成log的路径,也可写成py.test test_class.py --resultlog=E:/log.txt)。并早当前路径下生成log.txt文件,打开文件,内容如下

img_93451107b14bd1e697f18ab84aeb2b16.png
执行结果1

二、生成JunitXML文件

1.在CMD中切换到该测试用例路径下,执行指令:py.test test_class.py  --junitxml=./log.xml  (其中./log.xml为生成log的路径,也可写成py.test test_class.py  --junitxml=E:/log.xml)。并在当前路径下生成log.xml文件,打开文件,内容如下

img_1d1fb65ce5f2bc0fbba78c951a0569f0.png
执行结果2

三、创建测试用例的URL

1.在CMD中切换到该测试用例路径下,执行指令:py.test test_class.py --pastehbin=all  会在最后一行生成一个网址

img_24e04cddb7133cb265850b196b05a71c.png
执行结果3-1

2.把网址(https://bpaste.net/show/5e60a2096e54)复制到浏览器打开可以看到测试用例执行的全部结果

img_9b70b9e3122cc5e1df3edba2438f2bfa.png
执行结果3-2

3.指定显示测试结果为FAIL,输入指令:py.test test_class.py  --pastebin=failed

img_3a40f028622b574a9b087c9b6544c058.png
执行结果3-3

四、生成HTML测试报告

1.要想生成html格式的测试报告,首先的下载安装pytest-html插件,执行如下指令:pip install pytest-html 如下图

img_78bf66f152fd41f730fe000eedcb917a.png
安装pytest-html插件

2.在CMD中切换到该测试用例路径下,执行指令:py.test test_class.py --html=./report.html  (其中./report.html为生成log的路径,也可写成py.test test_class.py --html=E:/report.html)。并在当前路径下生成report.html文件,打开文件,内容如下

img_63a0c0f21810b96135c5dbba35e76bdb.png
执行结果4-1

3.双击打开生成的report.html文档,可以看到如下效果

img_fe782ce1341ab861834e56747896316d.png
执行结果4-2

其中,红色框框内的选项可以自行选择是否显示。

目录
相关文章
|
1天前
|
SQL 自然语言处理 数据库
【Azure Developer】分享两段Python代码处理表格(CSV格式)数据 : 根据每列的内容生成SQL语句
本文介绍了使用Python Pandas处理数据收集任务中格式不统一的问题。针对两种情况:服务名对应多人拥有状态(1/0表示),以及服务名与人名重复列的情况,分别采用双层for循环和字典数据结构实现数据转换,最终生成Name对应的Services列表(逗号分隔)。此方法高效解决大量数据的人工处理难题,减少错误并提升效率。文中附带代码示例及执行结果截图,便于理解和实践。
|
1月前
|
人工智能 自然语言处理 测试技术
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
AxBench 是由斯坦福大学推出,用于评估语言模型可解释性方法的基准测试框架,支持概念检测和模型转向任务,帮助研究者系统地比较不同控制技术的有效性。
51 5
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
|
17天前
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
|
26天前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.49 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.49 (macOS, Linux, Windows) - 开源渗透测试框架
37 0
Metasploit Framework 6.4.49 (macOS, Linux, Windows) - 开源渗透测试框架
|
3月前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
939 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
2月前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
141 15
|
2月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
1月前
|
JSON 前端开发 测试技术
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
103 10
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
|
1月前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
72 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
17天前
|
存储 JSON API
Python测试淘宝店铺所有商品接口的详细指南
本文详细介绍如何使用Python测试淘宝店铺商品接口,涵盖环境搭建、API接入、签名生成、请求发送、数据解析与存储、异常处理等步骤。通过具体代码示例,帮助开发者轻松获取和分析淘宝店铺商品数据,适用于电商运营、市场分析等场景。遵守法规、注意调用频率限制及数据安全,确保应用的稳定性和合法性。

热门文章

最新文章