【工作组件】在虚拟用户生成器(Vugen)中设置。
【实现步骤】
1)首先确定哪些数据要做参数化,并分别使用参数变量来替换常
量数据,格式:{变量名}
2)然后准备参数池:大量数据+文件类型
3)设置参数策略以及迭代次数
4)检查点也要做参数化
【步骤详解】
1)双击脚本中要做参数化的数据:
jojo->右击->ReplacewithaParameter使用一个参数代替
弹出窗口:如下
ParameterName:username参数名-变量名
ParameterType:File参数类型-文件
Originalvalue:jojo初始值-jojo
点击“ok”后会自动生成LR变量{username}
其他数据同上,但参数化的数据一定要做到全面:做参数化的数据在其他地
方出现过,也要做参数化。不然会报错,有一个小技巧可以检验:
使用Ctrl+F在脚本中查找指定数据并按F3继续查找。
2)打开参数池配置窗口
在VuGen中倒数第2个按钮:OpenParameterList(快捷方式:Ctrl+L)
点击username->EditwithNotepad使用记事本编辑测试数据
将光标放置在最后一行数据的下一行开头
使用ctrl+a全选检查光标是否符合格式要求:
保存ctrl+s及时关闭记事本,避免版本问题
其他文件的数据同上操作(比如password)
3)设置参数策略
1、parametertype参数类型
Iterationnumber重复编号Table表
Uniquenumber唯一编号Randomnumber随机编号
Loadgeneratorname下载生成名称
Userdefinedfunction使用规定的功能
Vuserid虚拟用户IDXMLXML
2、File文件存储位置
点击browse
3、按钮:
Addcolumn添加列
Addrow添加行
Deletecolumn删除列
Deleterow删除行
Editwithnotepad使用文本编辑
Datawizard通过数据库从ODBC导入
Simulateparameter模拟参数
4、selectcolumn选择列
Bynumber通过编号选择列,第1列就是从1开始
Byname通过名称,列名
5、fileformat文件格式
Column列分隔符
取值:comma逗号分隔符
tab制表分隔符
space空格分隔符
Firstdata第一个行数据
6、selectnextrow选择下一行的设置
取值:Sequential按顺序取值,从第一行开始依次向变量分配参数值
Random随机取值
Unique唯一取值,每个用户只取一个值
SamelineasXX取和xxx参数在同一行的值
7、updatevalueon更新数据的时机
取值:Eachiteration每次迭代更新;脚本迭代时使用新数据
在同一次迭代中所有参数的取值是不变的,下一次迭代就更新。
Eachoccurrence每次取值更新;参数每次出现时使用新数据
即使在同一个迭代中,参数的值也更新。
Once一次;每个用户只取一次值,不再改变(从一而终)
8、whenoutofvalue超出值后的设置,迭代次数大于参数个数时的设置
取值:Abortvuser放弃用户,终止脚本
Continueinacyclicmanner循环取值继续
Continuewithlastvalue使用最后一个值继续
9、allocatevuservaluesinthecontroller控制器里分配虚拟用户数值
Automaticallyallocateblocksize自动分配程序块大小
AllocateXXXvaluesforeachvuser为每个虚拟用户分配XXX值
说明:一般案例中采用的是默认的SE组合:顺序+每次迭代
Sequential+EachIteration
4)设置action脚本的迭代次数
点击editruntime-settings-》runlogic-》numberofiterations
迭代次数和参数个数之间关系:
取决于第8个选项的设置,和unique相结合使用:
Abortvuser当值超出时终止脚本:
当参数个数大于迭代次数时,超出的参数不会被执行,脚本终止啦。
Continueinacyclicmanner当值超出时循环取值继续:
当参数个数小于迭代次数时,参数会循环使用,直到迭代次数结束位置
Continuewithlastvalue当值超出时使用最后一个值继续
当参数个数小于迭代次数时,使用最后一个参数值继续完成剩余的迭代。
->将脚本中数据设计为多个参数:{变量名}
->准备数据:一个参数单独有一个文件
使用excel表格准备大量数据并拷贝各自文件中
->设置参数策略:
在SelectColumn中:可以指定选择哪一列
1)根据列号选择:123...
第一个列就是1,依次类推
2)根据列名选择:usernamepassword见名知意
Firstdata:从第几行开始读取数据
->编辑运行时设置:
迭代次数:
此方法适合参数之间没有关系时
->准备多个数据:一个参数在共享文件中就是一列
使用excel表格准备大量数据并拷贝共享文件中
编辑文件:多列共享一个文件,使用comma逗号分隔
将每个参数的File都改为共享文件名
在Fileformat中:指定格式
默认使用逗号分隔每一列Comma
此方法适合参数之间有关系时
3、用参数化方式1的策略来注册前15个新用户:a1~a15,密码:123
步骤:
A》首先录制用户aaa的注册脚本到Action中,添加事务,检查点
B》然后按照参数化的步骤1、2设计参数以及准备数据(实际数据有30个)
a1~a30
C》其次设置参数化策略:
Firstdata:1
SE组合顺序+每次迭代
设置迭代次数:15次
4、用参数化方式1的策略来注册前15个新用户:a1~a15,密码:123
最常用的策略组合:应用场合
1)SE组合:顺序+每次迭代最常用
2)UEA组合:唯一+每次迭代+放弃用户数据唯一时使用
Unique策略时,数据必须要充足,避免报错
版本1:File类型
版本2:UniqueNumber类型
3)RE组合:随机+每次迭代用户随机性访问
用户取值从三方面考虑:
A)数据的行数
B)用户的个数
C)迭代的次数
举例1:假设有2行数据:a1a2,1个用户,迭代2次。
{每个用户迭代2次,合计跑4次}
按照SE组合:顺序+每次迭代
用户取值:(a1,a2)
按照UE组合:唯一+每次迭代
假设迭代三次,则需要考虑第八项的设置。
举例2:假设有4行数据:a1a2a3a4,2个用户,迭代2次。
第一个用户取值:(a1,a2)
第二个用户取值:(a1,a2)
第二个用户取值:(a3,a4)
举例3:某参数有数据a1a2a3...a10,3个用户,迭代3次。
{每个用户迭代3次,合计跑9次}
第一个用户取值:(a1,a2,a3)
第二个用户取值:(a1,a2,a3)
第二个用户取值:(a4,a5,a6)
第三个用户取值:(a7,a8,a9)
举例4:某参数有数据a1a2a3...a30,只有1用户,脚本迭代3次,