JMeter学习——实战

实战1 :测试文件下载

最近工作中需要对一个文件生成下载的接口进行性能测试,所以就选用了JMeter。 

参考链接 https://www.cnblogs.com/slsdyl/p/8569010.html


第一步:从百度上下载一张图片,放到本地服务器55上面,用浏览器可以打开的 

 

 

第二步:打开JMeter,创建一个线程组

 

 

第三步:创建一个请求

 

 

第四步:创建一个BeanShell Sampeler

 

 代码解析:

import java.io.*;

 

byte[] result = prev.getResponseData();       //获取到请求返回的数据,prev是获取上个请求的返回。

String file_name = "D:\\a.jpg";      //代表存放文件的位置和文件名。

File file = new File(file_name);    //创建一个文件对象,且这个文件对象的名是上面指定的,路径也是上面指定的。

FileOutputStream out = new FileOutputStream(file);      //创建文件对象为输出流

out.write(result);    //往这个输出流的文件里写数据,就是上一个请求返回的数据。

out.close();      //关闭这个文件输出流。

最后创建一个察看结果树,然后运行就行。

 

 性能测试总结果:1. 在接性能测试任务前必须聊清楚测试用的环境,要与线上生产尽量接近。

                       2.测试方案要提前聊好。如果涉及到开发的工作量,要从项目上给开发申请时间。

 

 

 

实战2: 性能测试接口总报415

.

 

解决方法:添加【http信息头管理器】

jmeter测接口 报415

当接口请求头中的  Content-Type 值是 application/json时,必须要添加【http信息头管理器】,将 Content-Type 的值添加进去(否则可能报415)

 

 

 

 

 实战3:接口运行后,观察树中无结果,  报错:java.lang.IllegalArgumentException: Filename must not be null or empty

 解决办法,创建的csv data set config,添加后输入进行填写,禁用后可以正常运行

 

 

 

实战4 : 取不到CSV中的参数

原因1: XLSX的文件直接改后缀名成CSV,这种的jmeter就取不到, 这种的用notpad打开也是一堆乱码。 需要将XLSX文件先变成一个sheet页,然后另存为CSV格式

原因2: 在body调用中,要加引号。如图

 最后终于能取到了,如图

 

 

 

实战4: postman中能正常调用的接口,但在jmeter中却报错,500,服务器异常, 察看结果树中,请求TAB页看不到POSS  data的内容。

解决方法: 比对两边的请求体,发现 postman中用的是raw+json格式, 而Jmeter中勾选了from-data,去掉勾选即可。

 

Jmeter本身也会占用本机资源,所以官方也建议尽量使用命令行去执行

参考链接:https://blog.csdn.net/MJH827/article/details/143570247

配置好Jmeter测试计划,并保存测试脚本,

 

保存之后,打开命令行工具,切换到JMeter安装的bin目录下,命令行执行JMeter脚本

命令:jmeter -n -t xxx.jmx -l yyy.jtl

xxx.jmx是要被执行的JMeter脚本即在JMeter客户端保存的脚本

yyy.jtl为压测结果保存的文件,存放在命令行当前目录下

-n:非GUI模式,即在非客户端模式下运行JMeter

-t:指定待执行的JMeter脚本

-l:指定日志文件,即输出相关结果到指定的文件中,一般是jtl文件

命令行执行后,每隔30秒会打印出30秒内的运行情况和运行至今的运行情况,找到日志文件,打开JMeter客户端,添加Aggregate Report,导入日志文件,可以查看执行结果:

 

小tips

1.在命令行执行的时候,需要修改某个配置时,可以使用文本工具打开JMeter脚本文件(即jmx),然后根据经验去修改字段值,实在不行就再去JMeter修改

2.在命令行调试合理的虚拟用户数的时候,可以根据其打印出来的Avg、Min、Max、Err等字段粗浅的判断服务器性能情况去调整,然后再正式运行查看具体的情况

 

posted @ 2019-09-10 13:46  yoyoma0355  阅读(439)  评论(0)    收藏  举报