6.Jmeter相关脚本参数的用法
作者:互联网
6.Jmeter相关脚本参数的用法
参数:
用户定义的变量
用户参数:
用法与用户定义的参数用法一致,作用相同,但是区别是
用户定义的变量:在脚本启动运行时,获取一次值,在整个运行过程中,不再去取值
用户参数:在脚本运行过程中,每次使用都会动态获取一次值
函数:随机函数
把用户定义的变量和用户参数里都加入随机函数
在debug sampler里面看到用户定义的变量没有发生变化,用户参数一直在变
注册的时候和登录的时候,用户参数不能登录成功,因为每一次都会变化
而用户参数是注册可以成功,登录不能成功,因为每一次都发生变化
用户定义的参数是登录可以成功,但是注册·不成功
用用户参数来注册,然后在前面添加一个调试取样器,添加一个函数setproperty设置属性
登陆的时候就用这个属性值
参数不能直接跨线程组,用户定义参数还有用户参数都不能直接跨线程组
属性函数:-setProperty
jmeter自带的特性名称就是属性
jmeter里面有静态的属性也有动态的属性。动态的属性就是你可以给它设置到这款工具上去
工具有一个属性可以更改设置值,如果想把用户定义变量的值给到属性都是可以的,就可以实现跨线程组,所以两个独立的取样器也是可以通过属性来跨
${__setProperty(,,)} 把值传给某个属性 设置属性
${__property(,,)} 获取属性值
\({__P(,)} 也是获取属性值(这个相当于\){__property(,,)} 的小名,外号)
${__threadNum} 线程的编号
${__threadGroupName} 获取线程组名称
${__time(,)} 时间
${__V(,)} 连接函数 引用num_1 num_2 num_3 \({__V(num_,\){num})}
取样器的执行顺序是从上往下执行,但是有优先级,用户定义变量的优先级比取样器优先级高
如果HTTP请求的协议是HTTPS那么端口默认情况下是443
逻辑控制器:
循环控制器只对它的子集有效
参数化:CSV文档参数化:****配置文件CSV Data Set Config
csv只是以英文逗号分隔的文本文件格式
添加CSV文件
先去建excel文件
然后转成CSV文档
每首行的参数必须对应
csv的文件不默认为utf_8,所以尽量不要出现中文,不然容易乱码
txt的文件更好用,不会出现乱码情况
也可以用txt文件,尽量用txt文件,因为csv文件格式不是中文
配置文件的优先级比取样器高
解决csv文件乱码处理情况
csv文件可以用记事本打开,确认一下是否有乱码,如果有乱码,手动把乱码改过来,,没有乱码重新保存一下,保存的时候CSV选择UTF-8,txt记事本默认保存的编码格式是utf-8
json提取和正则提取器(后置处理器)
如果是json的话可以直接在查看结果树中
察看结果树之json
如果出现了列表形式的
那就需要加上中括号,例如$.data[0].mobile_phone
json提取器
想提取一个值
1.可以分多次提取
使用绝对路径 $.data.id
先用主提取器提取
得到da
如果想从da里面再提取一个值,再次添加一个json提取器
从变量里面再提取想要的值
2.可以一次提取
如果是想用相对路径提取
$..id
想一次提取多个值
同样也是使用json提取器
这个defaultvalues可以自己定义,当匹配不到值的时候就使用这个默认值
关联
前一个接口的返回值作为后一个接口的输入值要使用关联
前面的接口添加后置处理器,把需要的值提取出来传给一个变量接收,后面的接口直接使用该变量名称
可以使用json提取器和正则
察看结果树之Regexp_Texter使用(正则表达式)
主体是指响应体
正则表达式请求头消息头响应头部信息和body都可以提取,这个是json提取器做不到的
json格式里面的顺序是不固定的
正则表达式一般为
左边界(正则表达式)右边界
要提取多个值,使用\(1\)\(2\)\(3\)
标签:脚本,__,提取,用户,用法,json,参数,Jmeter,属性 来源: https://www.cnblogs.com/dengdengdeng1998/p/16477996.html