生成 HTML 测试报告

1、简介

在使用 unittest 组织和执行用例。可以发现,测试用例的执行结果报告显示如下图:
在这里插入图片描述
这时如何生成一个美观和详细的测试报告是当务之急。例如如下的结果,我们就可以通过 HTMLTestRunner 来实现。下面就让我们来认识一下 HTMLTestRunner。
HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML 的测试报告。
在这里插入图片描述

2、安装及使用

(1)安装 HTMLTestRunner及修改

首先要下载 HTMLTestRunner.py 文件,将下载的文件放入…\python\Lib 目录下
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
说明:官网的 HTMLTestRunner 是 python2 语法写的,由于我们使用的是 python3,就需要将 HTMLTestRunner.py 改成 python3 的语法。

修改汇总为:
第 94 行,将 import StringIO 修改成 import io 第 539 行,将 self.outputBuffer = StringIO.StringIO()修改成 self.outputBuffer = io.StringIO()
第 642 行,将 if not rmap.has_key(cls):修改成 if not cls in rmap:
第 766 行,将 uo = o.decode(‘latin-1’)修改成 uo = e
第 775 行,将 ue = e.decode(‘latin-1’)修改成 ue = e
第 631 行,将 print >> sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime)修改成 print(sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime))

当然,也提供了已经修改好的 HTMLTestRunner,你可以直接使用:链接:https://pan.baidu.com/s/16AgAj7V-cAB5UUqqLqAX7Q 提取码:0e55

(2) 导入 HTMLTestRunner

import HTMLTestRunner

(3)使用 HTMLTestRunner 生成测试报告

将语句 unittest.TextTestRunner().run(alltest),修改成如下部分:

runner=HTMLTestRunner.HTMLTestRunner(stream=outfile,
title="my test report",
description='smoke tests'
)
runner.run(alltest)

HTMLTestRunner 主要有三个参数,参数及含义如下:
stream:测试报告写入文件的存储区域
title:测试报告的主题
description:测试报告的描述
执行 runner 后,将生成测试报告文件由参数 stream 的值 outfile 设定,
outfile 是存放测试报告的路径及文件。

(4)完整的测试用例及报告生成代码

https://blog.youkuaiyun.com/Afollower/article/details/100304102

### 生成HTML测试报告的详细方法 JMeter从3.0版本开始引入了Dashboard Report模块,用于生成HTML格式的可视化测试报告。以下是生成HTML测试报告的具体操作方法[^1]。 #### 配置jmeter.properties文件 在生成HTML报告之前,需要确保`jmeter.properties`文件中的相关配置正确无误。此文件位于JMeter安装目录下的`bin`文件夹中。需要检查并修改以下配置项: ```properties jmeter.save.saveservice.output_format=xml jmeter.save.saveservice.response_data=true jmeter.save.saveservice.samplerData=true jmeter.save.saveservice.requestHeaders=true jmeter.save.saveservice.url=true jmeter.save.saveservice.responseHeaders=true ``` 这些配置项确保测试结果能够包含足够的信息以生成详细的HTML报告[^1]。 #### 执行性能测试并保存结果 使用命令行模式运行JMeter,执行性能测试并将结果保存到`.jtl`文件中。命令格式如下: ```bash jmeter -n -t test_script.jmx -l result.jtl ``` - `-n`:以非GUI模式运行JMeter。 - `-t`:指定要执行的测试计划文件(`.jmx`)路径。 - `-l`:指定保存测试结果的`.jtl`文件路径。 #### 生成HTML报告 测试完成后,可以使用以下命令生成HTML报告: ```bash jmeter -g result.jtl -o /path/to/output/report ``` - `-g`:指定包含测试结果的`.jtl`文件。 - `-o`:指定HTML报告的输出目录。注意,该目录必须为空或不存在,否则会报错[^1]。 #### 查看HTML报告 生成HTML报告后,进入指定的输出目录,打开`index.html`文件即可查看测试结果的详细图表和分析[^1]。 此外,还可以通过直接在命令行中添加`-e`和`-o`参数,在测试结束后自动生成HTML报告。命令格式如下: ```bash jmeter -n -t test_script.jmx -l result.jtl -e -o /path/to/output/report ``` - `-e`:在测试结束后生成HTML报告。 - `-o`:指定HTML报告的输出目录[^4]。 ### 注意事项 1. 如果使用的是JMeter 3.0版本,可能会遇到中文支持问题,建议使用更高版本的JMeter[^1]。 2. 确保输出目录为空或不存在,否则生成报告时会报错[^5]。 3. `.jtl`文件路径不能包含中文字符,否则可能导致生成失败[^2]。 ```python # 示例代码:生成HTML报告的完整命令 command = "jmeter -n -t test_script.jmx -l result.jtl -e -o output_report" print(command) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值