当前位置:文档之家› 参数化方法

参数化方法

3.2 设置参数化方法让所有Vuser都使用相同的数据来运行,对系统造成的压力与实际情况会有所不同。

例如,测试一个网站系统时使用了100个Vuser同时进行登录网站后台的并发操作。

我们在录制脚本以后没有修改脚本数据信息,所有 Vuser的Session(会话)数据信息都完全一模一样。

而此网站系统为了防止黑客的攻击已经禁止一个用户多次登录的系统后台的操作。

此时的测试过程将无法展开。

为了解决这个问题,让系统更加真实地模拟多用户使用的实际环境,LoadRunner提供了对脚本进行参数化输入的功能。

所谓的脚本参数化,就是针对脚本中的某些常量,定义一个或多个包含数据源的参数来取代,让场景中不同的Vuser在执行相同的脚本时,分别使用参数数据源中的不同数据代替这些常量,从而达到模拟多用户真实使用系统的目的。

3.2.1 参数化定义如果用户在录制脚本过程中,填写并提交了一些数据(如增加数据库记录等),这些操作都被记录到了脚本中。

当多个Vuser运行脚本时,如果对这些数据不加改动直接提交,提交的肯定都是相同记录,非但与实际运行情况不符,还有可能引起冲突。

为了模拟更加真实的环境,可以使用动态参数输入的方法。

在用户脚本中引入参数,不仅简化了脚本,还可以使用不同的数值来测试。

例如,如果搜索不同名称的产品,仅需要写一个带参数的提交函数。

在回放的过程中,传递不同的参数值就可以了。

录制业务流程时,VuGen生成一个由函数构成的Vuser脚本。

函数中参数的值是录制期间使用的实际值。

例如,在操作Web应用程序时录制了一个Vuser脚本,用于在数据库中搜索标题“UNIX”。

VuGen生成下列语句,如图3-10所示。

图3-10 脚本示例使用多个Vuser和迭代来重播该脚本时,如果不想重复使用相同的值“UNIX”,那么,可以用参数来替换该常量值,如图3-11所示。

图3-11 脚本参数化示例然后,生成的Vuser使用指定的数据源中的值来替换参数。

该数据源可以是一个文件或者内部生成的变量。

参数化包含以下两项任务:(1)在脚本中用参数取代常量值。

(2)设置参数的属性以及数据源。

所有的函数都可以参数化的,例如关联函数就不能参数化。

关于函数,在以后的章节还要进行详细的介绍。

3.2.2 创建参数创建参数有两种方式。

1.在脚本视图中创建。

选择一个字符串并单击鼠标右键,在菜单中选择“Replace with a parameter”(替换为新参数),如图3-12所示。

2.在树视图中创建。

选择要参数化的步骤,并从右键菜单中选择“Properties…”(属性),如图3-13所示。

图3-12 选择“Replace with a parameter”选项图3-13 选择“Properties”将打开相应的“Submit Data Step Properties”(提交数据步骤的属性)对话框,如图3-14所示。

图3-14 “Submit Data Step Properties”对话框单击要参数化的参数旁边的“ABC”图标,打开“Select or Create Parameter”(选择或创建参数)对话框。

在“Parameter name”框中输入参数的名称,或从列表中选择一个现有的参数名。

从“Parameter type”列表中选择一个参数类型。

可用的类型有:日期/时间、文件、组名、迭代编号、负载生成器名、随机编号、唯一编号、用户定义的函数或Vuser ID等。

3.2.3 参数类型属性当选择好参数类型以后,对其属性进行设置,在图3-15的对话框中单击“Properties”,将根据不同的参数类型出现不同的对话框,下面将一一介绍。

1.“Date/Time”(日期/时间)参数类型:其属性对话框如图3-16所示。

“Date/Time”类型用当前的日期和/或时间替换参数。

要指定日期/时间的格式,可以从菜单列表中选择,或者指定实际需要的格式。

该格式应该与脚本中录制的日期/时间格式相对应。

还可以单击该对话框中相应的按钮对格式进行添加、删除、还原等操作。

图3-16 “日期/时间”类型表3-1对于日期/时间格式中出现的符号做了简要说明。

表3-1 日期/时间格式中的符号在“Update Value on”文本框中可选择一种更新参数值的频率,指示Vuser何时更新参数值。

有以下几个选项:Ÿ Each Occurrence:在运行时,每遇到一次该参数,便会取一个新的值,该方法指示Vuser在每次参数出现时使用新值。

当使用同一个参数的几个语句不相关时,该方法非常有用。

例如,对于随机数据,在该参数每次出现时都使用新值可能是非常有用的。

Ÿ Each Iteration:运行时,在每一次循环中都取相同的值。

该方法指示Vuser为每次脚本迭代使用新值。

如果一个参数在脚本中出现了若干次,则Vuser为整个迭代中所有出现的该参数使用同一个值。

当使用同一个参数的几个语句相关时,该方法非常有用。

Ÿ Once:运行时,在每次循环中,该参数只取一次值。

该方法指示Vuser在方案运行期间仅对参数值更新一次。

Vuser为所有出现的该参数和所有迭代使用同一个参数值。

当使用日期和时间时,该类型可能会非常有用。

注:后面的介绍中也有此选项,为了避免出现重复叙述,在此详细说明,后面遇此选项将一笔带过。

2.“Group Name”(组名)参数类型:用Vuser组的名称替换参数,如图3-17所示。

创建方案时,要指定Vuser组的名称,否则运行VuGen的脚本时,组名始终为“无”。

从可用格式中选择其中一种或者新建一种格式,来指定参数字符串的长度。

3.“Iteration Number”(迭代编号)参数类型:用当前的迭代编号替换参数,如图3-18所示。

图3-17 “组名”类型图3-18 “迭代编号”类型从可用格式中选择其中一种或者新建一种格式,来指定参数字符串的长度。

4.“Load Generator Name”(负载生成器名)参数类型:用Vuser脚本的负载生成器名替换参数,如图3-19所示。

负载生成器是运行Vuser的计算机。

从可用格式中选择其中一种或者新建一种格式,来指定参数字符串的长度。

5.“Random Number”(随机编号)参数类型:用一个随机生成的整数替换参数,可以通过指定最小和最大值,设置随机编号的范围,如图3-20所示。

在“Sample value”框中,可以查看VuGen如何显示该值的示例。

选择“Number format”,指明唯一编号的长度。

例如:指定%01lu表示一位数,%02lu表示两位数,依此类推。

在“Update Value on”下拉框中可选择一种更新参数值的频率,指示Vuser何时更新参数值。

“随机编号”参数类型用于在一个可能的值域内对系统的行为进行抽样。

例如,要对50名员工(员工的ID编号范围从1到1000)进行查询,创建50个Vuser并设置其最小值为1,最大值为1000。

每个Vuser都接收到一个 1~1000的随机编号。

图3-19 “负载生成器名”类型图3-20 “随机编号”类型6.“Unique Number”(唯一编号)参数类型:用一个唯一编号替换参数,如图3-21所示。

图3-21 “Unique Number”类型在图3-21所示界面中“Block size”(块大小)指明分配给每个Vuser的编号块的大小。

每个Vuser都从其范围的下限(start)开始,在每次迭代时递增该参数值。

例如,如果设置起始编号为1并且块大小为500,则在其第一次迭代中,第一个Vuser使用值1,下一个Vuser使用值501。

例如,如果限制编号为5位数并使用大小为500的块,则只有100 000个数(0~99 999)是可用的。

因此,只能运行200个Vuser,并且每个Vuser运行500次迭代。

在“Sample value”框中,可以查看VuGen如何显示该值的示例。

选择“Number format”,指明唯一编号的长度。

指定%01d表示一位数,%01d表示两位数等。

在“Update Value on”下拉框中可选择一种更新参数值的频率,指示Vuser何时更新参数值。

“Unique Number”类型在执行时由于设置编号块过小,可能会出现超出范围的情况,为了解决这个问题,在“Unique Number”的设置界面中有对此情况进行超出范围的相应处理,即When out of values(超出范围)选项,如果超出范围所执行的操作有以下三种:Ÿ“Abort Vuser(中断 Vuser)”:停止循环,重新设置编号块大小,再次重新执行;Ÿ“Continue in a cyclic mann er(以循环方式继续)”:执行不停止,按照事先设置的编号的循环方式再次执行一次;Ÿ“Continue with last value(使用最后的值继续)”:选取最后一个值继续执行下去,即后面的编号相同并使用的都是同一个值。

7.“Vuser ID”参数类型:用分配给该Vuser的ID来替换参数,如图3-22所示,此ID是方案运行期间控制台分配给Vuser的。

图3-22 “Vuser ID”类型从可用格式中选择其中一种或者新建一种格式,来指定参数字符串的长度和结构。

注意,该ID并不是在Vuser窗口中显示的ID,而是在运行时生成的唯一的ID编号。

3.2.4 导入数据方法LoadRunner允许使用Microsoft Query或者指定数据库连接字符串与SQL语句,利用参数化从已经存在的数据库中导入数据。

用户脚本生成器在从数据库导入数据的过程中提供了一个向导。

在此向导中,可以指明如何导入数据——通过MS Query创建查询语句或者直接书写SQL语句。

在导入数据以后,以“.dat”为后缀并作为正规的参数文件保存。

在向导中单击“Data Wizard”按钮,从数据表中选择用户名后,使用“Specify SQL statement manually(手工指定数据库连接字符串)”方法连接数据库,如图3-23所示。

单击“下一步”按钮,出现图3-24所示的对话框。

填入连接字符串和SQL语句后,单击“Finish”按钮,出现查询结果。

图3-23 指定数据库连接方法图3-24 指定SQL语句3.2.5 数据文件存储数据文件能保存脚本执行期间Vuser访问的数据,这些数据可以被存储在本地或全局文件中。

如果拥有大量已知参数值,数据文件是非常有用的。

数据文件中的数据以表格的形式存储。

一个文件可以包含大量参数值,每一列都保存一个参数的数据。

列的分隔由分隔符标记,例如逗号、“-”或者Tab符号等。

如果使用文件作为参数的数据源,必须指定文件的名称和位置、包含数据的列、文件格式,包括列的分隔符、更新方法等内容。

相关主题