Mac下Jmeter基本使用_jmeter mac(2)

以上介绍出自百度百科,内容介绍太多,不一一介绍了。作为非专业测试人员,知道Jmeter可以对接口进行压力测试,可以满足100次的接口测试就好,更高级的Jmeter使用可以再以后用到的时候再学习,知识可以一点点积累,不用一下全部掌握到。

2、Jmeter下载与安装

  1. 进入Apache Jmeter官网首页 https://jmeter.apache.org/, 点击左边的Download Releases

image.png

点击Binaries下的压缩包下载,目前最新的版本为5.4.1

image.png

下载成功后,解压直接使用,不用安装,所以把压缩包解压到常用的软件文件夹下

image.png

打开终端,进入到该解压文件夹下的bin目录下

image.png

选中apache-jmeter-5.4.1文件夹,右键-服务-新建位于文件夹位置的终端窗口

image.png

输入命令:sh jmeter,打开Jmeter软件

image.png

软件启动页

image.png

软件设置中文,Options-Choose Language-Chinese(Simplified)

image.png

3、Jmeter基本使用

Jmeter的使用,我是以需求为导向的【在这里是指定接口循环100次】,以完成需求为目标,跟着需求来学习这个Jmeter。

1.创建线程组

image.png

线程组的基本配置

image.png

我这里对线程组的配置是1个线程数,间隔1秒,循环5次

image.png

2.添加http请求

在新建的线程组下,添加-取样器-Http请求

image.png

假如某个接口为:https://app.test.com/app_login?userName=hahaha&password=7844112b3344112b34f7

  1. https请求需要在协议里明确填写https,
  2. 服务器路径或ip项填写:app.test.com【注意不用填写https://,末尾也没有/】
  3. Http请求项根据当前接口的请求方式填写,一般为post或get
  4. 路径项填写:/app_login?userName=hahaha&password=7844112b3344112b34f7
  5. 端口号:https方式请求,端口号需要填写443,http方式不用填写
  6. 请求参数,根据参数字段值进行添加

image.png

接口参数配置好之后,我们添加一个察看结果树,就可以进行测试了

3.添加察看结果树

选中http请求,右键-添加-监听器-察看结果树

image.png

在电脑上创建一个csv文件,用于保存测试的结果,然后在察看结果树中配置该文件

image.png

然后就可以进行测试运行这个接口了,选中线程组,右键启动

image.png

会提示察看结果树的文件已存在,是覆盖文件还是附加到现有文件,这个根据需求选择就好

image.png

点击察看结果树,会看到,右边列表里请求的结果,绿色对号表示接口请求成功

image.png

响应的数据结果有多种查看方式可以选择

image.png

本地察看结果树保存的文件数据,有一些基本的测试结果数据可供查看

image.png

至此,基本上是可以满足对某个接口压测100次的,但是呢,查看结果比较麻烦,需要一个个手动点击每一次的接口去查看结果。比如我现在项目中的接口返回的一个状态码字段ret,ret=0表示接口正常,有数据返回,ret=-2表示接口正常,无数据返回。手动点击100次查看结果,这个效率太低了,可以写一个脚本,把接口返回的某个字段保存到本地文件中,然后直接在文件中去查看结果,这样的话,会方便很多。

那么就用到了Jmeter的正则表达式提取器和BeanShell后置处理程序

4.添加正则表达式提取器

正则表达式提取器是提取响应结果中的指定数据

image.png

比如想要过滤接口返回的的ret字段值 { “ret”: 0 } ,配置如下

image.png

  1. 引用名称:自定义的变量名,在后面会用到;
  2. 正则表达式:“ret”: [0-9] ,匹配"ret": 后面任意的数字(注意冒号和[ 之间有一个空格)
  3. 模板:用KaTeX parse error: Can't use function '$' in math mode at position 28: …式中有多个正则表达式,则可以是$̲23$等等,表示解析到的第几个值给ret。这里有一个坑,看网上有很多例子都是 1 1 1的,我这边也这样写,测试的结果总是拿到null,后来改为 0 0 0,正确拿到数据了
  4. 匹配数据:0代表随机取值,1代表全部取值,通常情况下填0
5.添加BeanShell 后置处理程序

image.png

image.png

脚本程序如下,将正则表达式匹配到的数据保存到本地文件中

image.png

源代码如下:

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import org.apache.jmeter.samplers.*;
import org.apache.jmeter.config.*; 
import java.util.regex.Matcher;
import java.util.regex.Pattern;

FileWriter fstream = new FileWriter("/Users/xxx/Desktop/666.csv",true);       
BufferedWriter out = new BufferedWriter(fstream);
out.write(vars.get("ret")+"\n"); 
out.close();
fstream.close();
var ret=vars.get("ret");
if(ret!=0){
   log.info("ssssssssssssssssssssssssssssssssssssssssssssssssssssss,ret:"+ret);
}

log.info可以把日志打印在控制台

image.png

image.png

image.png

6.运行测试

选中http请求,右键启动

  1. 先查看日志运行结果
要在Mac上搭建JMeter性能测试平台,需要进行以下步骤: 1. 安装Java JDK 首先需要在Mac上安装Java JDK,可以在Oracle官网上下载最新版本。 2. 安装JMeter 可以在JMeter官网上下载最新版本的JMeter,下载后解压缩即可。 3. 安装MySQL 可以在MySQL官网上下载最新版本的MySQL,安装完成后需要创建一个数据库用于存储JMeter执行的测试结果。 4. 安装InfluxDB 可以在InfluxDB官网上下载最新版本的InfluxDB,安装完成后需要创建一个数据库用于存储JMeter执行的测试结果。 5. 安装Grafana 可以在Grafana官网上下载最新版本的Grafana,安装完成后可以通过Web界面进行数据可视化。 6. 配置JMeter 需要在JMeter的bin目录下找到jmeter.properties文件,将以下配置项的值修改为相应的值: ``` # JMeter结果输出到InfluxDB jmeter.save.saveservice.output_format=influxdb jmeter.save.saveservice.hostname=<InfluxDB服务器IP> jmeter.save.saveservice.port=<InfluxDB服务器端口> jmeter.save.saveservice.db=<InfluxDB数据库名称> jmeter.save.saveservice.username=<InfluxDB用户名> jmeter.save.saveservice.password=<InfluxDB密码> # JMeter从MySQL加载数据 jmeter.save.saveservice.autoflush=true jmeter.save.saveservice.thread_counts=true jmeter.save.saveservice.sample_count=true jmeter.save.saveservice.time=true jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS jmeter.save.saveservice.label=true jmeter.save.saveservice.response_code=true jmeter.save.saveservice.response_data=false jmeter.save.saveservice.response_data.on_error=false jmeter.save.saveservice.bytes=true jmeter.save.saveservice.sent_bytes=true jmeter.save.saveservice.url=true jmeter.save.saveservice.filename=false jmeter.save.saveservice.hostname=true jmeter.save.saveservice.thread_name=true jmeter.save.saveservice.successful=true jmeter.save.saveservice.assertions=true jmeter.save.saveservice.latency=true jmeter.save.saveservice.connect_time=true jmeter.save.saveservice.sent_bytes=true jmeter.save.saveservice.idle_time=true jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS jmeter.save.saveservice.timezone=Asia/Shanghai jmeter.save.saveservice.jdbc.url=<MySQL数据库URL> jmeter.save.saveservice.jdbc.driver=com.mysql.jdbc.Driver jmeter.save.saveservice.jdbc.username=<MySQL用户名> jmeter.save.saveservice.jdbc.password=<MySQL密码> ``` 7. 执行测试计划 执行JMeter测试计划后,结果会被自动保存到InfluxDB中。 8. 可视化数据 在Grafana中添加InfluxDB数据源,选择保存的数据库,即可通过图表展示测试结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值