jmeter csv参数化_jmeter的参数化,检查点,关联,正则表达式

本节是基础篇第二节,主要介绍jmeter的参数化,检查点,关联,正则表达式,其中参数化、检查点在实际压测中使用最多。

一、检查点 & 参数化

1、检查点
      即是添加断言,这个在上篇文章中已提到,具体如下图

65f2c6a7fefaf96d0fd000657241a939.png

2、参数化 a、添加CSV Data Set Config配置组件,实现参数化。 这里以注册为接口为例对注册用户名进行参数化。

ac9b606bbbb41f133afe4feb05cd45ce.png

b、准备参数化文件,这里命名userName_data.txt,与脚本存在同级目录(下面用的),内容如下

8804e6a1576c0d73ed89ac726adb5da9.png

c、配置CSV Data Set Config,读取对应的数据文件

ec9cc2ae5de5068ac8aa657c1d0abbb6.png

d、将请求接口中的参数替换成变量

d6385208b09b7b3fade02486e0e07eb7.png

强调下:至此参数化算是完成了,经常有人问我有必要参数化?其实参数化在性能压测过程中是必须的,抛开程序过程中可能存在缓存,数据库本身也会有缓存,如果使用一条数据反复跑的话,实际的压测结果就不符合业务场景。
二、关联 & 正则表达式
这里以接口https://api.midukanshu.com/logstash/userbehavior/report为例,请求方式POST,返回结果{"code":0,"message":"成功","currentTime":1568203926,"data":{}},通过正则表达式提取"currentTime"的值。

1、调试post接口https://api.midukanshu.com/logstash/userbehavior/report(如下如图)

6a20128304fc16a478c140eae177b6e1.png

2、请求一次,保证接口能正常返回,如下:

42d5a8a0aeb9596745f444d667477634.png

3、关联 & 正则表达式

     后置处理器是JMeter的关联组件,可以从服务器响应数据中查找到需要的数据。常用的是正则表达式提取器(Regular Expression Extractor)

a、创建正则表达式提取器,Regular Expression Extractor(如下图)

0b7edaf6f16dade2c704bc76d2cdb83a.png

b、提取接口返回参数"currentTime"

820d37d5c8a56690d56ad7c2f109eb5c.png

c、添加后置处理组件中的BeanShell PostProcessor,并输出正则表达式提取的值到jmeter的log中

9f7fb42fe6436e00fbb0e9074c0b2d89.png

1f6ba064040417b68d2fbab7cc1ea795.png

d、执行脚本,查看jmeter的log是否有提取的字符

f46716101e9bfa7fa87c40e110d1823c.png

到此本节基本算是完成,集合点在这里没有着重介绍,这里不做重点,工作中这块也用到较少,下面主要介绍正则表达的一些解释:

(1)引用名称:下一个请求要引用的参数名称,如填写你nowtime,则可用${nowtime}引用它。

(2)正则表达式

    ()括起来的部分就是要提取的。

    .匹配任何字符串。

    +:一次或多次。

    ?:不要太贪婪,在找到第一个匹配项后停止。

注:(.+?)[.\n]+可以匹配换行符在内的所有字符。

(3)模板:用$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$2引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$2,$3等等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值

(4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0,如果在LR中,取出的值是一个数组,还得处理一下,LR11版本用一个随机的函数就可以不用写大段的代码来处理数组。

(5)缺省值:如果参数没有取得到值,那默认给一个值让它取。

作为一个对性能测试有情怀的人,希望过往的经验能够对新来人有一定的帮助,公众号"性能测试践行"中原创作者日常工作中典型案例和自己每时每刻对性能新的认知,希望喜欢!

34528fce8ea344db00d74db8e70a2d2a.png

坚持是一种信仰,点赞是一种态度! c80cfd1de96bc6fb66e15882353ec6f0.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值