配置元件–用户自定义变量 和 前置处理器–用户参数 的区别
二者都可以进行参数化,但是有所区别:
1、用户自定义变量是在脚本启动时生成一次,在运行的过程中,不再获取值
2、用户参数是每次使用,都会自动获取值
这有点像一个是全局变量,另外一个是局部变量,下面举个例子可以更明白这一点
添加用户定义的变量user=huazai,引入Debug Sampler,然后引用变量user变量,${user},下面添加循环控制器,可以填写循环3次,每次正常获取user值。
添加用户参数如下,运行结果每次可以获取user1不同的参数值:
运行的结果如下图:可以获取不同的参数值,进行参数化
json提取器
json提取器是最常用的工具之一,可以进行脚本的关联。使用的场景比如:登陆后获取token值,然后将参数值传递到下个接口中。
1、先分析返回json,进行参数提取,书写方式是$.code
右键登录请求–>后置处理器–>添加“JSON提取器
引入Debug Sampler,测试提取的数据结果,测试结果如上图。
函数助手
函数助手经常在测试中使用,比如生成时间戳,生成随机数字,拼接字符,md5加密等
我介绍一些常用的函数使用 选项—》函数助手对话框
1、md5加密,例如加密123456
2、__P函数
我之前需要在服务器上运行脚本,有需要每次动态传递参数
例如
通过脚本进行传递参数:
jmeter -n -t Automationscript.jmx -l test.jtl -J username=pengfei -J password=111111
3、__time时间函数
自动获取当前时间戳,如果进行时间格式的转化也可以设置。
csv文件提取
一般进行性能测试,尽量使用txt文件,两点原因:
1、编码 excel保存默认不是utf-8
2、读取速度慢,影响性能测试结果
csv文件读取方式,数据会在文件中循环读取,如下图
正则提取器
我刚开始学习jmeter的时候就是用的这个,话不多说,比如登录接口下获取token值,data中的数据
以上就是工作中经常使用的参数化方法