Jmeter接口测试常用元件使用方法

JMeter下载安装及配置

JMeter下载安装很简单,这里就不在赘述
下载地址:https://jmeter.apache.org/download_jmeter.cgi
注意事项:jdk版本要求8以上,版本过低或未安装则Jmeter无法运行;将Jmeter的bin目录路径添加到系统变量Path中
                  使用Jmeter一定要注意作用域,各元件位置不同产生的效果也不相同,元件可拖动至相应位置

运行Jmeter

修改Jmeter语言,若使用的是ApacheJMeter.jar并修改语言,则每次运行ApacheJMeter.jar都会是上次所选语言

若通过jmeter.bat使用上面的方法修改,仅当此生效,如需长期生效需修改jmeter.properties文件,找到language=en去掉注释#,将en改为zh_CN 

HTTP请求

1、启动后左侧界面只显示测试计划, 右键测试计划, 【添加】→【线程(用户)】→【线程组】
2、右键线程组,【添加】→【取样器】→【HTTP请求】

表单(即键值对)和Json/xml格式不用解释,直接填入相应的请求参数值即可,文件上传需要注意:

1、点击【高级】,设置客户端实现方式,实现选择【Java】,然后回到【基础】→【文件上传】→【添加】,若文件与脚本不在同级目录则需加上文件路径,比如:E:\\tupian.jpg,然后填写参数名称,MIME类型可为空

2、若未配置【高级】,则文件必须与脚本在同一目录,且MIME类型不得为空,MIME类型通常填写“multipart / form-data”,请依实际接口为准

自定义变量&HTTP请求默认值

为了简化操作,我们添加用户自定义变量和HTTP请求默认值
1、右键测试计划或线程组,【添加】→【配置元件】→【用户自定义变量】
2、右键测试计划或线程组,【添加】→【配置元件】→【HTTP请求默认值】

引用变量书写格式 ${变量名},使用变量能更好的维护脚本

 

察看结果树

1、右键测试计划或线程组,【添加】→【监听器】→【察看结果树】
2、点击运行按钮
3、查看响应结果

 添加注册接口,运行发现报“非法请求”,若有接口文档应查看接口文档是否缺少相应参数,若没文档应结合抓包工具查看请求信息(此地址是网上找的,没有接口文档,已了解接口之间的关联关系)

中文返回乱码问题

请求返回的json字符串或者xml文件中, 响应数据中文常常会显示成乱码此处提供两种方法

方法一:每次创建脚本都填写一下内容编码UTF-8

方法二: 修改jmeter.properties文件中的sampleresult.default.encoding=ISO-8859-1,去掉注释#,将ISO-8859-1改为UTF-8

json提取器

通过Fiddler抓包工具了解到用户注册需要有auth的token,我们可以通过json提取器或正则表达式获得token值,此处以json为例
右键需要提取的请求,【添加】→【后置处理器】→【JSON提取器】

正则表达式提取器

右键需要提取的请求,【添加】→【后置处理器】→【正则表达式提取器】
正则表达式的使用可以看一下相关文章系统学习一下
.  表示任意字符串
+ 表示匹配一次或多次,也可以使用*号
? 表示匹配第一个匹配项后停止匹配,即非贪婪匹配

HTTP信息头管理器

右键测试计划或线程组,【添加】→【配置元件】→【HTTP信息头管理器】
在信息头元件中引用json提取器变量名,使用正则表达式提取器则使用正则表达式提取器中的引用名称

再次运行请求接口,提示“注册成功” 

调试取样器

当使用变量应用时可以添加调试取样器,通过运行结果查看变量是否成功提取/引用,等所有接口或者说业务场景通过后再禁用或删除调试取样器
右键线程组,【添加】→【取样器】→【调试取样器】

 运行脚本,查看调试取样器的响应数据

函数助手

【工具】→【函数助手对话框】,选择相应函数,此处想要生成随机数,故选择Random

 将生成的函数粘贴到用户名通过拼接,可以一次注册多个账号

响应断言

为了便于判断多个账号是否成功注册,通过添加断言判断结果

通过运行结果可以看到,有三条注册失败了

CSV数据文件设置

创建数据

 设置数据文件

引用变量 ${变量名}

仅一次控制器

为了让结果更直观,我们把获取token请求仅执行一次
右键线程组,【添加】→【逻辑控制器】→【仅一次控制器】,将仅运行一次的请求拖拽至控制器内 (作用域的重要性不要忘记哦)

 添加断言

因为数据文件中有5条数据,所以线程组中循环次数要填写5,然后执行脚本,执行结果就一目了然啦

如果(if)控制器

当业务场景有条件判断时就需要用到if控制器啦,比如:登录的用户才能继续操作,不允许未实名的用户操作,只允许指定用户操作,已实名且余额充足才能操作,已实名或指定用户操作等
右键线程组,【添加】→【逻辑控制器】→【如果(if)控制器】,将需要判断的请求拖拽至控制器内

 根据提示我们使用函数助手计算表达式

 将生成的函数粘贴到输入框,表达式支持组合使用:与&&,或||

通过结果我们可以看到5条数据有4个成功登录,说明上面的表达式已经成功禁止用户yad2登录了!

JDBC Connection Configuration

使用JMeter连接并操作数据库,第一步是需要下载JDBC驱动,下载地址:https://dev.mysql.com/downloads/connector/j/

将下载包解压,将解压文件中的mysql-connector-java-版本号.jar添加到Jmeter测试计划中

右键测试计划或线程组,【添加】→【配置元件】→【JDBC Connection Configuration】
Database URL: jdbc:mysql://IP:3306/数据库名
JDBC Driver class: com.mysql.jdbc.Driver

JDBC Request

右键线程组,【添加】→【取样器】→【JDBC Request】 

添加察看结果树元件,运行脚本就可以查询到数据啦 

吞吐量控制器

要模拟在同一线程组内做10个并发,8个做业务A,2个做业务B的场景,可以通过吞吐量控制器来实现 
右键线程组,【添加】→【逻辑控制器】→【吞吐量控制器】,将请求拖拽至控制器内
此处只粘贴基于百分比控制的示例截图,基于总数控制使用方法与百分比控制相同;在一个线程组内总数控制器和百分比控制器可组合使用;勾选Per User后所填占比数将失效,结果将是实际并发数,请自行操作验证实际响应结果

JMeter中易犯的错误:
①各元件之间的作用域
②信息头中的信息
③Cookie值
④线程组中的次数

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白典

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值