脚本参数化之用户定义变量
用户定义变量有2个地方可以配置:(1)线程组-》配置元件->用户定义变量 (2)测试计划->用户定义的变量
image.png
(1)线程组-》配置元件->用户定义变量
1.设置用户定义变量
image.png
2.登录接口-》引用用户定义变量
image.png
3.启动-察看结果树
image.png
(2)测试计划--》用户定义的变量
1.点击 测试计划-》测试计划页面有用户定义变量-》点击添加,设置参数
image.png
2.注册接口-》参数引用
image.png
3.察看结果树-》参数引用成功
image.png
image.png
用户定义变量的作用范围
测试计划上,线程组1和线程组2都定义了同名的 用户变量,那么取样器中引用${mobile},获取的是哪个值呢?
1.测试计划上-》添加用户定义变量
image.png
2.线程组2添加用户定义变量
image.png
3.启动
image.png
如果测试计划上和线程组上添加的用户定义变量的参数名一样,且引用也一样,那么引用的时候,优先使用线程组下面的用户定义变量。
4.线程组2-》添加用户定义变量
image.png
5.启动
image.png
总结:
1. 不同的线程组都添加了用户变量,如果参数名一样,那么引用的时候,可能会被最新的覆盖,那么哪个是最新的呢?---》Jmeter默认是并行,不同线程组同时在跑,谁是最新的,这个是不一定的,如果Jmeter是串行的,那么肯定是被最后执行的覆盖掉
2. 用户定义变量是一个全局变量,所有的线程组都可以直接引用(可以理解为公有属性)
3.线程组启动后,用户定义变量只获取一次值,在运行过程中,不再获取新的值
脚本参数化之用户参数
image.png1.如下图:线程组1-》前置处理器->用户参数
image.png
2.启动
image.png
总结:
1.用户参数:是局部变量,不能跨线程组使用,只能本线程组引用(可以理解为私有属性)
2.用户参数如果想跨线程组使用,就要把用户参数转换到jmeter的公共空间,(公共空间又叫属性)---》后续章节再介绍
3.用户参数,在启动时,获取一次值,在运行过程中,依然会动态获取新的值
随机函数演示动态获取值
1.tools-->函数助手对话框
设置随机数区间范围:00000000-99999999
image.png
2.点击 生成会自动拷贝,只需要到引用处复制即可
image.png
3.线程数设置为3
image.png
4.点击 启动--》察看结果树
image.png
从上面结果可以看到:用户参数在线程组循环迭代三次运行过程中,动态获取三次手机号
5.看下图:
image.png
注册和登录是否可以使用同一个手机号?----》答:当然是可以的。用户参数页面勾选每次迭代更新一次
image.png
6.勾选每次迭代更新一次--》点击启动---》察看结果树:每次迭代登录和注册都是相同的手机号
image.png
7.用户定义变量--》设置如下:
image.png
8.点击启动--》察看结果树:用户定义变量,jmeter运行过程中,只获取一次值
image.png
用户参数和用户定义变量之区别
1.用户参数是局部变量 (不能跨线程组),用户定义变量是全局变量(可以跨线程组)
2.用户参数jmeter运行中动态获取新的值,用户定义变量只获取一次值
网友评论