Jmeter性能测试之生成测试报告

结构

测试计划

测试计划是顶级的层级⽬录的结构,

那么在这样的⽬录结构中,⾥⾯可以包含很多线程组

线程组

线程组我们可以简单的理解为postman测试⼯具⾥⾯的collection,那么在整体线程组⾥⾯,可以添加很多的测试 ⽤例

简单控制器

理解为⼀个⽂件夹,主要是区分不同模块之间

测试用例

要素:

1、请求地址

2、请求参数


get请求⽅法 请求参数是query params的,那么它的形式是?key1=value1&key2=value2


post&put请求但是表单数据格式


post&put请求⽅法但是是JSON数据格式&XML的数据格式

post&put请求⽂件上传

3、请求⽅法

4、请求头

请求头是在配置元件⾥⾯的HTTP信息头管理器添加的 怎么添加 右键测试⽤例,然后在配置⽂件中选择HTTP信息头管理器,具体如下:

顺序 ⼀般性的是在HTTP请求的前⾯ 具体加哪些? 互联⽹产品 User-agent Count-type cookie referer ⾃研公司 content-type ⾃定义 为了产品的安全体系考虑,后端会⾃定义部分请求头,那么也是必须加的

测试结果 查看结果树

请求地址&请求参数

请求&响应

响应数据


不同数据格式的展示

测试断⾔

⼀个测试⽤例必须得有断⾔,assert 其实了可以理解为实际结果与期望结果的对⽐

JSON断⾔

就是针对JSON的数据格式来进⾏的 Example1 {"name":"wuya"} name example2 [{"name":"wuya"}] [0].name

JSON Path Assertion 特别强调,⾃带的$.是默认的,不要管

Example1 {"name":"wuya"} $.name example2 [{"name":"wuya"}] $.[0].name

响应断⾔

默认的来验证响应⽂本数据,其实它可以来验证迷糊的匹配

效率提升
HTTP请求默认值

断言结果


编码处理

响应数据编码

修改jmeter配置⽂件jmeter.properties,是在bin⽬录下 请求参数中⽂ 内容编码添加utf-8  重启

动态参数&关联

动态参数描述

解决⽅案

后置处理器中的JSON提取器和正则表达式提取器

变量调⽤ ${变量}
插件安装


生成测试报告

ant构建工具,该构建工具执行的时候依赖于build.xml的文件,在build.xml文件里面会定义具体执行的脚本,执行的顺序,以及测试报告存储的目录。

自动发送邮件,需要三个jar,分别是:activation.jar,commons-email-1.2.jar,mail.jar,这三个文件放在ant的lib目录下

jmeter生成html文件测试报告

先在jmeter安装的路径下找到bin目录下的jmeter.properties,用记事本打开该文件

修改如下:

修改源文件

jemter接口测试报告怎么整合到Jenkins

就是在上述步骤的基础上把控制台命令在Jenkins的面

结果

JMETER测试组件

断言:就是对脚本进行断言的

逻辑控制器:就是用来控制脚本运行逻辑的

前置处理器:就是在请求发送之前对请求进行处理

后置处理器:就是在请求之后对响应进行处理

定时器:设置思考时间的一些元件

配置元件:就是对请求做一些配置处理的元件,如:cookie管理、请求默认值等等

HTTP请求默认值:就是将线程组下面请求的重复参数放到请求默认值中,后续所有请求就不需要重复实现该参数设置, 会默认从该元件中获取所有参数值(将大家一样的部分分离出来,相当于page层)。

HTTP Cookie管理器:jmeter不会自动关联cookie,需要添加cookie管理器来关联cookie。

非测试元件:

HTTP代理服务器:用来录制脚本,要打开浏览器的服务代理器,但是不太可靠。(脚本录制BlazeMeter谷歌插件)

自定义变量

定时器
正则表达式

跟JSON提取器一样都是定义动态参数环境变量,定义访问权限

https://tool.oschina.net/regex     正则表达式在线测试

参数化 1——多用户请求,多线程运行参数化

参数化2——csv文件

记事本

csv文件

送给大家一句话,共勉:当我们能力不足的时候,首先要做的是内修!当我们能力足够强大的时候,就可以外寻了! 

 

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

### 如何使用 JMeter 进行性能测试生成详细的测试报告 #### 准备工作 为了顺利运行 JMeter 并执行性能测试,需确保已经下载并安装好 Apache JMeter 软件。如果希望直接通过命令行启动工具,则应配置系统的环境变量以便于调用 `jmeter` 命令[^3]。 #### 创建测试计划 创建一个新的测试脚本或者加载现有的 `.jmx` 文件作为测试的基础框架。这通常涉及到定义线程组、采样器以及其他必要的监听器来模拟预期的工作负载场景[^2]。 #### 执行测试并将结果保存到文件 当准备好要执行的测试方案后,可以指定一个日志文件用于记录所有的响应数据。例如,在命令行模式下可以通过 `-n -t script/1212.jmx -l api.jtl` 参数组合实现无界面方式运行测试,并把输出写入名为 `api.jtl` 的CSV格式的结果文件中。 #### 配置 HTML 报告样式表(可选) 对于更高级别的定制化需求来说,可以在 JMeter 安装目录下的 `bin/jmeter.properties` 文件里调整有关图表显示风格等方面的设置项[^4]。 #### 生成HTML格式的汇总报表 一旦拥有了有效的 CSV 测试结果文档,就可以利用如下指令快速构建一份易于阅读且直观性强的网页版总结材料: ```bash jmeter -g E:\jmeter\html.csv -o E:\jmeter\result/ ``` 上述命令中的参数含义分别为:`-g` 后面跟的是之前提到过的实际存在并且包含了所有请求细节的日志位置;而 `-o` 则指定了最终产出物所放置的目标文件夹路径[^1]。 ```python import os def generate_html_report(csv_file, output_dir): command = f'jmeter -g {csv_file} -o {output_dir}' try: result = os.system(command) if result == 0: print(f'Successfully generated report at {output_dir}') else: print('Failed to generate the report') except Exception as e: print(e) generate_html_report(r'E:\jmeter\html.csv', r'E:\jmeter\result/') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值