11 节 2021-01-08Jmeter之参数化

2021-03-08  本文已影响0人  testerPM

脚本参数化之用户定义变量

用户定义变量有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.png

1.如下图:线程组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运行中动态获取新的值,用户定义变量只获取一次值

上一篇 下一篇

猜你喜欢

热点阅读