做负载或者压力测试时,很多人选择使用了Loadrunner测试工具。该工具的基本流程是先将用户的实际操作录制成脚本,然后产生数千个虚拟用户运行脚本(虚拟用户可以分布在局域网中不同的PC机上),后生成相关的报告以及分析图。但是在录制脚本的过程中会遇到很多实际的问题,比如不同的用户有不同的使用数据,这牵涉到参数的设置问题。本文Loadrunner中参数的设置进行说明,希望对大家有所帮助。
  在录制程序运行的过程中,VuGen(脚本生成器)自动生成了包含录制过程中实际用到的数值的脚本。如果你企图在录制的脚本中使用不同的数值执行脚本的活动(如查询、提交等等),那么你必须用参数值取代录制的数值。这个过程称为参数化脚本。
  本文主要包括如下内容:理解参数的局限性、建立参数、定义参数的属性、理解参数的类型、为局部数据类型设置参数的属性、为数据文件设置参数的属性、从已经存在的数据库中引入数据。
  除了GUI,以下的内容适合于各种类型的用户脚本。
  一、关于参数的定义
  在你录制程序运行的过程中,脚本生成器自动生成由函数组成的用户脚本。函数中参数的值是在录制过程中输入的实际值。
  例如,你录制了一个Web应用程序的脚本。脚本生成器生成了一个声明,该声明搜索名称为“UNIX”的图书的数据库。当你用多个虚拟用户和迭代回放脚本时,也许你不想重复使用相同的值“UNIX”。那么,你可以用参数来取代这个常量。结果是你可以用指定的数据源的数值来取代参数值。数据源可以是一个文件,也可以是内部产生的变量。
  用参数表示用户的脚本有两个优点:①可以使脚本的长度变短。②可以使用不同的数值来测试你的脚本。例如,如果你企图搜索不同名称的图书,你仅仅需要写提交函数一次。在回放的过程中,你可以使用不同的参数值,而不只搜索一个特定名称的值。
  参数化包含以下两项任务:①在脚本中用参数取代常量值。②设置参数的属性以及数据源。
  参数化仅可以用于一个函数中的参量。你不能用参数表示非函数参数的字符串。另外,不是所有的函数都可以参数化的。
  二、参数的创建
  可以指定名称和类型来创建参数。不存在对脚本中参数个数的限制。在Web程序的用户脚本中,你可以使用如下过程在基于文本的脚本视图中创建参数。或者,也可以在基于图标的树形视图中创建参数。
  在基于文本的脚本视图中创建一个参数:
  1、将光标定位在要参数化的字符上,点击右键。打开弹出菜单。
  2、在弹出菜单中,选择“Replace with a Parameter”。选择或者创建参数的对话框弹出。
  3、在“Parameter name”中输入参数的名称,或者选择一个在参数列表中已经存在的参数。
  4、在“Parameter type”下拉列表中选择参数类型。
  5、点击“OK”,关闭该对话框。脚本生成器便会用参数中的值来取代脚本中被参数化的字符,参数用一对“{}”括住。
  注意:在参数化CORBA或者General-Java用户脚本的时候,必须参数化整个字符串,而不是其中的部分。另外注意:除了Web或者WAP,缺省的参数括号对于任何脚本都是“{}”。你可以在“General Options”对话框中的“Parameterization”标签(Tools>General Options)中定义参数括号种类。
  6、用同样的参数替换字符的其余情况,选中参数,点击右键,弹出菜单。从弹出的菜单中,选择“Replace More Oclearcase/"target="_blank">ccurrences”。搜索和替换对话框弹出。“Find What”中显示了你企图替换的值。“Replace With”中显示了括号中参数的名称。选择适当的检验框来匹配整个字符或者大小写。如果要搜索规则的表达式(.,!,?等等),选中“Regular Expression”检验框,然后点击“Replace”或者“Replace All”。
  注意:小心使用“Replace All”,尤其替换数字字符串的时候。脚本生成器将会替换字符出现的所有情况。
  7、如果想用以前定义过的参数来替换常量字符串的话,选中该字符串,点击右键,然后选择“Use Existing Parameter”,子菜单“Use Existing Parameters”弹出。从子菜单“Use Existing Parameters”选择参数,或者用“Select from Parameter List”来打开参数列表对话框。
  注意:如果用以前定义过的参数来替换常量字符串的话,那么,使用“Parameter List”非常方便。同时,还可以查看和修改该参数的属性。
  8、对于已经用参数替换过的地方,如果想取回原来的值,那么,在参数上点击右键,然后选择“Restore Original value”。
  在Web用户脚本的树形视图中创建参数:
  1、将光标定位在企图参数化的地方,点击右键,从弹出的菜单中选择“Properties”。则相关的属性对话框打开。
  2、点击在要参数化的参量的旁边的“ABC”形状的图标。“Select or Create Parameter”对话框打开。
  3、在“Parameter name”中输入参数的名称,或者从列表中选择一个已经存在的参数。
  4、在“Parameter type”中输入参数的类型。
  5、点击“OK”关闭该对话框。用户脚本生成器会用参数来替换初的字符串常量,并用一个表格形状的图标替换“ABC”形状的图标。
  6、要恢复参数化以前的值,点击图标,然后从弹出的菜单中选择“Undo Parameter”,则以前的值便会重现。
  三、定义参数的属性
  创建参数完成后,可以定义其属性了。参数的属性定义是定义在脚本执行过程中,参数使用的数据源。在Web用户脚本中,你既可以在基于文本的脚本视图中定义参数属性,也可以在基于图标的树形视图中定义参数属性。下面的过程将教你如何在基于本文的脚本视图中定义参数属性。
  在基于文本的脚本视图中定义参数属性步骤:
  1、在参数上点击右键,有菜单弹出。
  2、在弹出的菜单中,选择“Parameter Properties”。参数属性对话框打开,显示和当前参数类型相关的属性。
  3、输入参数的属性值。
  4、点击“Close”关闭参数属性对话框。
  在Web用户脚本的树形视图中定义参数的属性:
  1、将关标定位在参数上,然后点击右键,选择“Properties”。属性对话框打开。
  2、点击要定义属性的参数旁边的表格形状按钮,点击右键,选择“Parameter Properties”。参数属性对话框打开,和参数类型相关的属性显示出来。
  3、输入参数的属性。
  4、点击“Close”关闭参数属性对话框。
  使用参数列表:使用参数列表可以在任意时刻查看所有的参数,创建新的参数、删除参数,或者修改已经存在参数的属性。
  1、点击参数列表按钮或者用“Vuser>Parameter List”。参数列表对话框打开。
  2、要创建新的参数,点击“New”按钮。新的参数则被添加在参数树中,该参数有一个临时的名字,你可以给它重新命名,然后回车。设置参数的类型和属性,点击“OK”,关闭参数列表对话框。
  注意:不要将一个参数命名为“unique”,因为这个名称是用户脚本生成器本身的。用户脚本生成器创建新的参数,但是不会自动用该参数在脚本中替换任意选中的字符串。
  3、要删除已有的参数,那么,要先从参数树中选择该参数,点击“Delete”,然后确认你的行为即可。
  4、要修改已有参数,那么,要先从参数树中选择该参数,然后编辑参数的类型和属性。