Jmeter使用教程

Jmeter 安装

安装jdk

若机器上已安装jdk,则跳过;
若机器上未安装jdk,官网下载并安装jdk,地址:
https://www.oracle.com/java/technologies/downloads/

安装 Jmeter

  1. 下载Jmeter,地址:https://jmeter.apache.org/download_jmeter.cgi
  2. 解压 Jmeter 安装包
  3. 启动 Jmeter,双击…\apache-jmeter-4.0\bin\ jmeter.bat
    在这里插入图片描述
  4. 启动Jmeter,界面中的测试计划Test Plan用于执行并发测试
    在这里插入图片描述

Jmeter并发测试

Jmeter并发测试需要在测试计划中,添加线程组、配置接口请求、添加结果查看来执行并发测试和获取结果。

添加线程组

测试里每个任务都要线程去处理,所有的任务必须在线程组下面创建。

  1. 创建线程组
    在 “Test Plan(鼠标右击)-> Add ->Threads (Users) -> Thread Group” 来添加线程组。
    在这里插入图片描述
  2. 设置线程组
  • Number of Threads (users): 一个用户占一个线程, 100 个线程就是模拟 100 个用户。
  • Ramp-Up Period (in seconds): 设置线程需要多长时间全部启动。如果线程数为 200 ,准备时长为 10 ,那么需要 1 秒钟启动 20 个线程。也就是每秒钟启动 20 个线程。
  • Loop Count: 每个线程发送请求的次数。如果线程数为 200 ,循环次数为 10 ,那么每个线程发送 10 次请求。总请求数为 200*10=2000 。如果勾选了 “永远”,那么所有线程会一直发送请求,直到停止。
  • Duration: 线程执行的持续时间,如果设为300s,即300s后未执行完直接退出。

以100个用户并发登录为例,添加100个线程(即100个用户),请求循环次数设为1,持续时间可设置为300s。
100个用户并发登陆的线程组设置

配置接口请求

  1. 添加HTTP 请求
    在 “Thread Group(鼠标右击)-> Add -> Sampler -> HTTP Request” 来添加HTTP请求。
    在这里插入图片描述
  2. 设置HTTP 请求方法
  • Name: 请求的名称。
  • Protocol:协议方法,默认不填写为http协议,其他可填写的协议如https等。
  • Server Name or IP:服务器地址,不包含协议,直接写IP,如172.16.40.22。
  • 接口请求类型:包含 GET、POST等类型。
  • Path:请求的接口地址,不包含协议、服务器地址,如/api/v2/oauth2/access-token.json。
  • 接口可选择请求参数、请求报文、文件上传方式。

以用户登录接口为例,Sevrer IP设置为服务地址:172.16.40.22,用户登录接口的请求类型为POST,接口地址为/api/v2/oauth2/access-token.json。
用户登录接口配置

  1. 添加HTTP请求头
    在 “Thread Group(鼠标右击) -> Add -> Config Element -> HTTP Header Manager” 来添加HTTP请求头。
    在这里插入图片描述
  2. 设置HTTP 请求头
    添加方式可选择逐个添加变量,或从剪贴板中复制(Add from Clipboard推荐)。
    在浏览器的开发者工具中获取接口的请求头数据,并从剪贴板复制至Jmeter。
    在这里插入图片描述

Jmeter 参数化

参数可以从csv读取文件生成,实现变化的参数数据。

  1. 从csv文件中读取,需要在线程组里面添加配置元件 - CSV Data Set Config
    在 “Thread Group(鼠标右击) -> Add -> Config Element -> CSV Data Set Config” 来添加Jmeter参数。
    在这里插入图片描述
  2. 配置CSV Data Set Config
  • Filename:csv文件的路径(csv文件中包含变化的参数值,以列区分不同的参数)
  • Variable Name:参数名称,用于后续使用 ${参数名称} 调用参数
  • Delimiter:csv文件中多个参数所使用的分隔符
  • Recycle on EOF: 设置 True 后,允许循环取值
  • Stop thread on EOF:设置True后,允许读取到EOF后停止线程
  1. 参数调用
    在参数替换的变量中,使用${参数名称}的方法来替换变量。
    以用户登录接口为例,接口的请求报文中username的值替换为${User}。
    在这里插入图片描述

Jmeter 关联参数

接口请求之间存在参数调用,为了保存这个参数,可以通过建立 Jmeter 关联。比如用户登录接口返回的 token 信息,在添加用户、删除用户等其他接口时需要使用。
Jmeter 关联就可以保存这个 token 信息,便于其他接口使用。Jmeter 关联可以通过正则表达式提取器,来获取到返回结果中指定的值。

  1. 在需要提取返回参数的接口中,添加正则表达式提取器
    在 “HTTP Request(鼠标右击) -> Add ->Post Processors-> Regular Expression Extractor” 来添加正则表达式提取器。
    在这里插入图片描述
  2. 正则表达式提取参数
  • Name of created variable:关联参数的名称
  • Regular Expression:正则表达式匹配
  • Template:匹配模板,通常写 1 1 1
  • Match No.:匹配到的第几个值
  • Default Value:匹配不到的时候的缺省值
    在这里插入图片描述
    提取规则:
    ():括起来的部分就是要提取的。
    .:匹配除换行外的任何字符串。
    +:代表 + 号前面的字符必须至少出现一次(一次或多次)。
    ?:代表?前面的字符最多可以出现一次,在找到第一个匹配项后停止(0 次或 1 次)。
    :代表号前面的字符可以不出现,也可以出现一次或者多次(0 次、1 次或者多次)
    (.):贪婪模式,匹配尽可能多的字符
    (. ?)或(.+?):匹配尽可能少的字符,一旦匹配到第一个就不往下走了。

以用户登录接口为例,请求接口的返回值中提取accessToken的值,在Regular Expression中输入"accessToken":“(.*)”,“refreshToken”,Match 中输入1。
在HTTP Header Manager中的Authorization输入Bearer ${accessToken},即可动态加载accessToken于请求头中。
在这里插入图片描述

添加查看结果

  1. 添加查看结果树
    在 “Thread Group(鼠标右击) -> Add ->Listener -> View Results Tree” 来添加查看结果树。
    在这里插入图片描述
  2. 添加聚合报告
    在 “Thread Group(鼠标右击) -> Add ->Listener ->Summary Report” 来添加聚合报告。
    在这里插入图片描述
  3. 添加响应时间图
    在 “Thread Group(鼠标右击) -> Add ->Listener ->Response Time Graph” 来添加响应时间图。
    在这里插入图片描述

执行并发测试

测试计划添加线程组、配置接口请求、添加查看结果后,可以执行并发测试,点击Start按钮。
在这里插入图片描述

  1. 查看结果树
    在执行接口测试后,点击查看结果树可以查看接口返回信息,用于判断接口是否请求成功。
    在这里插入图片描述
  2. 查看聚合报告
    执行接口测试后,点击聚合报告中查看压力测试结果。
    聚合报告的各属性说明:
  • Label:每个 JMeter 的 element 的 Name 值。例如 HTTP - Request 的 Name;
  • #Samples:样本数量。多少个请求;
  • Average:平均响应时间(单位:)。默认是单个
  • Request 的平均响应时间;
  • Min:最小值,最小的响应时间;
  • Max:最大值,最大的响应时间;

以100个用户并发登录为例,login请求的平均响应时间、最小响应时间、最大响应时间。
在这里插入图片描述
3.查看响应时间图
执行接口测试后,点击响应时间图中,查看响应时间详情,获取各请求样本的响应时间的折线图。
以100个用户并发登录为例,login请求的各线程(样本)执行的响应时间。
在这里插入图片描述

  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值