c 查看变量存储值_Jmeter中用户定义变量和用户参数的区别+常用函数用法+Json提取器和正则提取器用法...

一、用户定义变量

1.用户定义变量,有两个地方可以配置:

      a.配置元件中添加 

      b.测试计划添加

2.引用:${变量名称}

3.如果在查看结果树发现有${变量名称}说明变量没有取到值。字符串类型引用需要"${变量名称}"。

4.注意点:a.命名规则使用英文不要用中文

                b.可以包含数字,但不要以数字开头

                c.大小写敏感

5.特点:a.用户定义变量是全局变量,所有线程组都可以直接使用

             b.在启动时获取一次值,运营过程中不在获取

            另外:线程组是并行或者串行的,后面执行的线程组中挂在的变量会覆盖前面的值,两个线程组中都有用户定义变量,不一定哪个先执行。

------------------------------------分割线-----------------------------------

二、用户参数

1.添加:取样器右键前置处理器,线程组右键前置处理器

2.特点:a.是一个局部变量,不能跨线程组使用,只能在当前线程组使用

             b.用户参数在启动时获取一次值,在运营过程中依然会动态取值

             另外:每次迭代更新一次选项;当前线程组下所有取样器执行完一次为一次迭代。比如用户调用接口注册后登录,就要勾选次选项,登录可以用前面注册的号码。

jmeter支持的常见语言:Java, jython, groovy, js

------------------------------------分割线-----------------------------------

三、函数使用

1.两大类函数:内置函数,第三方函数

2.注意点:a.以双下划线开头

                b.严格区分大小写

                c.变量之间用逗号隔开

3.常用函数:随机字符串,随机日期,当前时间,时间戳转本地时间函数,groovy函数,Counter函数,jexl3函数(可以进行浮点型计算),P/propert函数(都是获取函数属性),Setpropert函数(设置属性)

V函数(拼接函数)。

4.V函数使用方法

拼接函数,想循环使用递增规律的变量,要用v函数

举例使用:

     ${mb_${_counter(,)}},连接成一个字符串,认为是一个变量的名,没有这样一个变量名所以无法取到值,想让这个函数生效,要使用V函数

${_V(mb_${_counter(,)},)},得到mb1 mb2 mb3

5._count函数,一直递增,一次加一,没有最大值

6.计数器:开始值,递增值,最大值

计数器属于配置原件,优先级最高,和放的顺序没有关系。从开始值递增,使用时当结果超过最大值时,再从第一个值开始。

------------------------------------分割线-----------------------------------

四、获取响应结果,对响应结果处理

第一种使用json提取器

1.Json提取:响应结果为json格式,优先使用json提取器。属于后置处理器,可以添加调试取样器查看取值结果。

2.使用方法:

第一种写法:$.节点名称.节点名称。从根节点名称开始取,绝对路径写法。

Apply to:

Main sample and sub-sample从主节点和子节点提取

Main sample only仅仅从主节点取值

jmeter Variable name to use从已有结果中再次提取结果

Match to匹配次数,提取次数

0 代表随机取一个

1-任意数字, 代表取对应值

-1 代表获取所有结果值

 注:一个Json提取器中提取多个值时,每个值之间用分号隔开,默认值一定要填写null,提取几个值就要写几个null用分号隔开。

提取到的多个值,以组的形式展现,可以在调试取样器中看到结果。

第二种写法:$..节点名称。属于相对路径的写法。

***************************内部分割线************************************

第二种使用正则提取器

1.正则提取:响应结果不是Json,或者想提取的信息不在response body中,就要用到正则。

bc204aeb2b07b24e689a8dc5a6aa18d1.png

2.使用方法:左边界(正则式)右边界

3.万能正则表达式:(.*?)除换行符外,都可以匹配

                             (\d+)匹配全部数字

                             (\w+)匹配全部英文

要检查的响应字段:主体对响应结果检查

模板:$1$

匹配数字:0

注:一个正则提取器中提取多个值,每个提取式中间用(.*?)隔开;模板使用$1$$3$,意思是使用提取式中的一号位置和三号位置的提取式;如果写一个变量名相当于把两个提取式的结果存储到一个变量中,使用时可以找到调试取样器中的正则提取结果,找到对应的值,再引用。

关联:前一个请求的响应结果,是动态值,这个值作为后续接口的传入参数,就要用到关联,可以使用json提取或正则提取。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值