LoadRunner——参数化测试(七)

{参数化测试}

又名数据驱动测试:使用不同的数据来执行相同的业务

【工作原理】

对脚本中的常量(数据)分别使用变量来替换,变量的取值又来自某个文件中,设置取值方式以及迭代方式即可实现参数化测试。比如准备大量的合法数据进行注册或者登录等,尽量达到模拟用户真实使用系统的情况

【工作组件】在虚拟用户生成器(Vugen)中设置。

【实现步骤】

1)首先确定哪些数据要做参数化,并分别使用参数变量来替换常

量数据,格式:{变量名}

2)然后准备参数池:大量数据 +  文件类型

3)设置参数策略以及迭代次数

4)检查点也要做参数化

【步骤详解】

1) 双击脚本中要做参数化的数据:

jojo ->右击-> Replace with a Parameter 使用一个参数代替

弹出窗口:如下

image.png

Parameter Name: username   参数名  - 变量名

Parameter Type: File          参数类型 - 文件

Original value: jojo            初始值  - jojo

点击“ok”后会自动生成LR变量{username}

其他数据同上,但参数化的数据一定要做到全面:做参数化的数据在其他地

方出现过,也要做参数化。不然会报错,有一个小技巧可以检验:

使用Ctrl+F在脚本中查找指定数据并按F3继续查找。

2) 打开参数池配置窗口

image.png

在VuGen中倒数第2个按钮:Open Parameter List(快捷方式:Ctrl+L)

点击username->Edit with Notepad 使用记事本编辑测试数据

将光标放置在最后一行数据的下一行开头

使用ctrl+a 全选 检查光标是否符合格式要求:

保存ctrl+s  及时关闭记事本,避免版本问题

其他文件的数据同上操作(比如password)

3) 设置参数策略

image.png

1、parameter type参数类型

File文件(常用)  Date/time日期/时间   Group name组名

Iteration number重复编号   Table表

Unique number唯一编号   Random number随机编号

Load generator name下载生成名称

User defined function使用规定的功能

Vuser id虚拟用户ID    XML XML

2、File文件存储位置

点击browse

3、按钮:

Add column添加列

Add row添加行

Delete column删除列

Delete row删除行

Edit with notepad使用文本编辑

Data wizard通过数据库从ODBC导入

Simulate parameter模拟参数

4、select column选择列

By number 通过编号选择列,第1列就是从1开始

By name通过名称,列名

5、file format文件格式

Column列分隔符

取值:comma逗号分隔符

tab制表分隔符

space空格分隔符

First data第一个行数据

6、select next row选择下一行的设置

取值:Sequential按顺序取值,从第一行开始依次向变量分配参数值

Random随机取值

Unique唯一取值,每个用户只取一个值

Same line as XX  取和xxx参数在同一行的值

7、update value on更新数据的时机

取值:Each iteration每次迭代更新;脚本迭代时使用新数据

在同一次迭代中所有参数的取值是不变的,下一次迭代就更新。

Each occurrence每次取值更新;参数每次出现时使用新数据

即使在同一个迭代中,参数的值也更新。

Once一次;每个用户只取一次值,不再改变(从一而终)

8、when out of value超出值后的设置,迭代次数大于参数个数时的设置

取值:Abort vuser  放弃用户,终止脚本

Continue in a cyclic manner  循环取值继续

Continue with last value   使用最后一个值继续

9、allocate vuser values in the controller控制器里分配虚拟用户数值

Automatically allocate block size自动分配程序块大小

Allocate XXX values for each vuser为每个虚拟用户分配XXX值

说明:一般案例中采用的是默认的SE组合:顺序 + 每次迭代

Sequential + Each Iteration

4) 设置action脚本的迭代次数

点击edit runtime-settings-》run logic-》number of iterations

迭代次数和参数个数之间关系:

取决于第8个选项的设置,和unique相结合使用:

Abort vuser当值超出时终止脚本:

当参数个数大于迭代次数时,超出的参数不会被执行,脚本终止啦。

Continue in a cyclic manner当值超出时循环取值继续:

当参数个数小于迭代次数时,参数会循环使用,直到迭代次数结束位置

Continue with last value当值超出时使用最后一个值继续

当参数个数小于迭代次数时,使用最后一个参数值继续完成剩余的迭代。

{参数化方式}

方式1: 设计多个参数并使用多个独立的文件保存各自数据:

->将脚本中数据设计为多个参数:{变量名}

->准备数据 :一个参数单独有一个文件

使用excel表格准备大量数据并拷贝各自文件中

->设置参数策略 :

在Select Column中:可以指定选择哪一列

1)根据列号选择:1 2 3 …

第一个列就是1,依次类推

2)根据列名选择:username  password  见名知意

First data:  从第几行开始读取数据

->编辑运行时设置:

迭代次数:

此方法适合参数之间没有关系时

方式2: 设计多个参数共享一个数据文件,前提:参数之间有关联

->将脚本中数据设计为多个参数:{变量名}

->准备多个数据 :一个参数在共享文件中就是一列

使用excel表格准备大量数据并拷贝共享文件中

编辑文件:多列共享一个文件,使用comma逗号分隔

->设置参数策略 :

将每个参数的File都改为共享文件名

在Select Column中:可以指定选择哪一列

1)根据列号选择:1 2 3 …

第一个列就是1,依次类推

2)根据列名选择:username  password  见名知意

在File format中:指定格式

默认使用逗号分隔每一列  Comma

First data:  从第几行开始读取数据

->编辑运行时设置:

迭代次数:

此方法适合参数之间有关系时

3、用参数化方式1的策略来注册前15个新用户:a1~a15,密码:123

步骤:

A》首先录制用户aaa的注册脚本到Action中,添加事务,检查点

B》然后按照参数化的步骤1、2设计参数以及准备数据(实际数据有30个)

a1~a30

C》其次设置参数化策略:

First data: 1

SE组合  顺序+每次迭代

设置迭代次数:15次

4、用参数化方式1的策略来注册前15个新用户:a1~a15,密码:123

步骤:

A》首先录制用户aaa的注册脚本到Action中,添加事务,检查点

B》然后按照参数化的步骤1、2设计参数以及准备数据(实际数据有30个)

a1~a30

C》其次设置参数化策略:

First data: 1

SE组合  顺序+每次迭代

设置迭代次数:15次

参数化策略 详解

最常用的策略组合:                      应用场合

1)SE组合: 顺序+每次迭代             最常用

2)UEA组合:唯一+每次迭代+放弃用户   数据唯一时使用

Unique策略时,数据必须要充足,避免报错

版本1:File类型

版本2:Unique Number类型

3)RE组合:随机+每次迭代              用户随机性访问

用户取值从三方面考虑:

A )数据的行数

B )用户的个数

C )迭代的次数

举例1:假设有2行数据:a1 a2,1个用户,迭代2次。

{每个用户迭代2次,合计跑4次}

按照SE组合:顺序+每次迭代

用户取值:(a1, a2)

按照UE组合:唯一+每次迭代

用户取值:(a1, a2)

假设迭代三次,则需要考虑第八项的设置。

举例2:假设有4行数据:a1 a2 a3 a4,2个用户,迭代2次。

{每个用户迭代2次,合计跑4次}

按照SE组合:顺序+每次迭代

第一个用户取值:(a1, a2)

第二个用户取值:(a1, a2)

按照UE组合:唯一+每次迭代

第一个用户取值:(a1, a2)

第二个用户取值:(a3, a4)

举例3:某参数有数据a1 a2 a3 … a10,3个用户,迭代3次。

{每个用户迭代3次,合计跑9次}

按照SE组合:顺序+每次迭代

第一个用户取值:(a1, a2,a3)

第二个用户取值:(a1, a2,a3)

第二个用户取值:(a1, a2,a3)

按照UE组合:唯一+每次迭代

第一个用户取值:(a1, a2,a3)

第二个用户取值:(a4, a5,a6)

第三个用户取值:(a7, a8,a9)

举例4:某参数有数据a1 a2 a3 … a30,只有1用户,脚本迭代3次,

一次迭代中参数只出现一次,完成以下策略组合的结果:

1)顺序 + 每次迭代:a1 a2 a3

2)唯一 + 每次迭代:a1 a2 a3

3)随机 + 每次迭代:a17 a9 a28

4)顺序 + 每次遇到:a1 a2 a3

5)唯一 + 每次遇到:a1 a2 a3

6)随机 + 每次遇到:a2 a30 a18

7)顺序 + 一次:a1 a1 a1

8)唯一 + 一次:a1 a1 a1

9)随机 + 一次:a15 a15 a15

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值