其他分享
首页 > 其他分享> > 6.Jmeter相关脚本参数的用法

6.Jmeter相关脚本参数的用法

作者:互联网

6.Jmeter相关脚本参数的用法

参数

用户定义的变量

img

img

用户参数:

img

img

用法与用户定义的参数用法一致,作用相同,但是区别是

用户定义的变量:在脚本启动运行时,获取一次值,在整个运行过程中,不再去取值

用户参数:在脚本运行过程中,每次使用都会动态获取一次值

函数:随机函数

img

把用户定义的变量和用户参数里都加入随机函数

img

img

img

在debug sampler里面看到用户定义的变量没有发生变化,用户参数一直在变

img

注册的时候和登录的时候,用户参数不能登录成功,因为每一次都会变化

而用户参数是注册可以成功,登录不能成功,因为每一次都发生变化

用户定义的参数是登录可以成功,但是注册·不成功

用用户参数来注册,然后在前面添加一个调试取样器,添加一个函数setproperty设置属性

img

登陆的时候就用这个属性值

img

参数不能直接跨线程组,用户定义参数还有用户参数都不能直接跨线程组

属性函数:-setProperty

jmeter自带的特性名称就是属性

jmeter里面有静态的属性也有动态的属性。动态的属性就是你可以给它设置到这款工具上去

工具有一个属性可以更改设置值,如果想把用户定义变量的值给到属性都是可以的,就可以实现跨线程组,所以两个独立的取样器也是可以通过属性来跨

${__setProperty(,,)} 把值传给某个属性 设置属性

${__property(,,)} 获取属性值

\({__P(,)} 也是获取属性值(这个相当于\){__property(,,)} 的小名,外号)

${__threadNum} 线程的编号

${__threadGroupName} 获取线程组名称

${__time(,)} 时间

${__V(,)} 连接函数 引用num_1 num_2 num_3 \({__V(num_,\){num})}

img

取样器的执行顺序是从上往下执行,但是有优先级,用户定义变量的优先级比取样器优先级高

如果HTTP请求的协议是HTTPS那么端口默认情况下是443

逻辑控制器:

循环控制器只对它的子集有效

参数化:CSV文档参数化:****配置文件CSV Data Set Config

csv只是以英文逗号分隔的文本文件格式

添加CSV文件

先去建excel文件

然后转成CSV文档

每首行的参数必须对应

csv的文件不默认为utf_8,所以尽量不要出现中文,不然容易乱码

txt的文件更好用,不会出现乱码情况

img

img

也可以用txt文件,尽量用txt文件,因为csv文件格式不是中文

配置文件的优先级比取样器高

解决csv文件乱码处理情况

csv文件可以用记事本打开,确认一下是否有乱码,如果有乱码,手动把乱码改过来,,没有乱码重新保存一下,保存的时候CSV选择UTF-8,txt记事本默认保存的编码格式是utf-8

img

json提取和正则提取器(后置处理器)

img

如果是json的话可以直接在查看结果树中

察看结果树之json

img

img

img

如果出现了列表形式的

img

那就需要加上中括号,例如$.data[0].mobile_phone

json提取器

img

想提取一个值

1.可以分多次提取

使用绝对路径 $.data.id

先用主提取器提取

img

得到da

img

如果想从da里面再提取一个值,再次添加一个json提取器

从变量里面再提取想要的值

img

2.可以一次提取

如果是想用相对路径提取

$..id

img

想一次提取多个值

img

同样也是使用json提取器

img

这个defaultvalues可以自己定义,当匹配不到值的时候就使用这个默认值

img

关联

前一个接口的返回值作为后一个接口的输入值要使用关联

前面的接口添加后置处理器,把需要的值提取出来传给一个变量接收,后面的接口直接使用该变量名称

可以使用json提取器和正则

img

察看结果树之Regexp_Texter使用(正则表达式)

img

img

主体是指响应体

img

正则表达式请求头消息头响应头部信息和body都可以提取,这个是json提取器做不到的

json格式里面的顺序是不固定的

正则表达式一般为

左边界(正则表达式)右边界

img

要提取多个值,使用\(1\)\(2\)\(3\)

img

img

img

img

标签:脚本,__,提取,用户,用法,json,参数,Jmeter,属性
来源: https://www.cnblogs.com/dengdengdeng1998/p/16477996.html