2023拉

LR脚本增强参数化专题

上一篇 / 下一篇  2011-07-21 09:00:38 / 个人分类:性能测试

Q1: LR中参数化的概念及作用(优点)?

    在计算机世界中,参数应该是大家所熟悉的概念吧! 先说"参数"2个字吧,函数实参,形参传递的都是参数,通过参数的赋值,这样的话参数就方便大家来使用了。LR的参数化就是使用用户定义好的多个值来代替固定的一个值,这样的过程就是参数啦。。

作用(优点): ① 可以使脚本的长度变短。

  ② 可以使用不同的数值来测试你的脚本。例如,如果你企图搜索不同名称的图书,你仅仅需要写提交函数一次。在回放的过程中,你可以使用不同的参数值,而不只搜索一个特定名称的值。

本质目的:就是通过参数化的方式使测试脚本更加符合实际用户操作。

例如:10个不同的用户登录考勤管理系统。你录制的脚本只有用户A的登录操作,但实际的生产环境,可能在上班之前有多个用户登录考勤管理系统进行签到,这时候你使用参数化方式,使用用户B,用户C,用户D.... 代替用户A,这样的话就很符合实际生产环境要求啦。。。

  Tips:一般参数化用比较多的地方有,登录操作的用户名与密码,业务流程中根据测试场景不同,需要使用参数化替代,如LR自带的WEB版本的飞机订票系统的"航班"开始地与目的地。机票的座位是靠近"过道""窗户"等情况。

  

Q2LR中常用的参数化方式有那些呢?这几种方式有什么不同呢?我们需要做那方面准备?

    有2中方式,第一种方式:在脚本视图方式中选择需要参数化的地方,点击右键选择"Replace With a Parameter"进行设置。  第2中方法是在工具拦中点击""图标(显示文字:Open Parameter List,快捷键Ctrl + L)进行设置。

     不同点:方法1设置时会把录制脚本时使用的数据带入参数表中,而第2种方法不会带入录制脚本时使用的数据。一般情况下建议使用方法2,因为有可能在你设置完成参数化使回放脚本回出现问题的,如注册操作,你录制脚本的使用已经使用用户A用户名注册了,再次运行被参数化的脚本时,回出错误的。

    参数化包含以下准备

  ① 在脚本中用参数取代常量值。

  ② 设置参数的属性以及数据源。

  Tips参数化仅可以用于一个函数中的参量。你不能用参数表示非函数参数的字符串。另外,不是所有的函数都可以参数化的。

 

Q3:这2种方式如何设置及具体细节?

    其实严格意义上讲,设置2种方式只是开始的操作界面或方式不一样,最终都是在"Parameter List"对话框进行设置的。大致设置参数化及恢复原值操作如下:

  1、 将光标定位在要参数化的字符上,点击右键。打开弹出菜单。

  2、 在弹出菜单中,选择"Replace with a Parameter"。选择或者创建参数的对话框弹出。

  3、 在"Parameter name"中输入参数的名称,或者选择一个在参数列表中已经存在的参数。

  4、 在"Parameter type"下拉列表中选择参数类型。

5、 点击"OK",关闭该对话框。脚本生成器便会用参数中的值来取代脚本中被参数化的字符,参数用一对"{}"括住。

    6、 用同样的参数替换字符的其余情况,选中参数,点击右键,弹出菜单。从弹出的菜单中,选择"Replace More Occurrences"。搜索和替换对话框弹出。"Find What"中显示了你企图替换的值。"Replace With"中显示了括号中参数的名称。选择适当的检验框来匹配整个字符或者大小写。如果要搜索规则的表达式(.!?等等),选中"Regular Expression"检验框,然后点击"Replace"或者"Replace All"

  Tips:小心使用"Replace All",尤其替换数字字符串的时候。脚本生成器将会替换字符出现的所有情况。

  7、 如果想用以前定义过的参数来替换常量字符串的话,选中该字符串,点击右键,然后选择"Use Existing Parameter",子菜单"Use ExistingParameters"弹出。从子菜单"Use Existing Parameters"选择参数,或者用

  "Select from Parameter List"来打开参数列表对话框。

  Tips:如果用以前定义过的参数来替换常量字符串的话,那么,使用"Parameter List"非常方便。同时,还可以查看和修改该参数的属性。

  8、 对于已经用参数替换过的地方,如果想取回原来的值,那么,就在参数上点击右键,然后选择"Restore Original value"

Tips:如果需要参数化数据量很大的化,可以从数据库MysqlSQL ServerOracle)中取数据的,点击"Data Wizard"按钮进行设置,使用数据库中数据之前一定要检查本机是否安装好对应(根据数据库不同进行安装)的数据源驱动程序。

 

 Q4:如何进行参数化数据操作?

     数据文件包含着脚本执行过程中虚拟用户访问的数据。局部和全局文件中都可以存储数据。可以指定现有的ASCII文件、用脚本生成器创建一个新的文件或者引入一个数据库。在参数有很多已知值的时候数据文件非常有用。数据文件中的数据是以表的形式存储的。一个文件中可以包含很多参数值。每一列包含一个参数的数据。列之间用分隔符隔开,比如说,用逗号。

  对数据文件设置参数属性

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

  如果参数的类型是"File",打开参数属性(Parameter Properties)对话框,设置文件属性如下:

  1、 在"File path"中输入文件的位置,或者点击"Browse"指定一个已有文件的位置。缺省情况下,所有新的数据文件名都是"parameter_name.dat",注意,已有的数据文件的后缀必须是.dat

  2、 点击"Edit"。记事本打开,里面第一行是参数的名称,第二行是参数的初始值。使用诸如逗号之类的分隔符将列隔开。对于每一新的表行开始一行新的数据。

  Tips:在没有启动记事本的情况下如果想添加列,就在参数属性对话框中点击"Add Col",那么"Add new column"对话框就会弹出。输入新列的名称,点击"OK"。脚本生成器就会添加该列到表中,并显示该列的初始值。

  3、 在"Select Column"部分,指明包含当前参数数据的列。你可以指定列名或者列号。列号是包含你所需要数据的列的索引。列名显示在每列的第一行(row 0)。

  4、 在"Column delimiter"中输入列分隔符,你可以指定逗号、空格符等等。

  5、 在"First data line"中,在脚本执行的时候选择第一行数据使用。列标题是第0行。若从列标题后面的第一行开始的话,那就在"First data line"中输入1。如果没有列标题,就输入0

  6、 在"Select next row"中输入更新方法,以说明虚拟用户在脚本执行的过程中如何选择表中的数据。方法可以是:连续的、随机的、唯一的、或者与其它参数表的相同行。

  A、 顺序(Sequential):该方法顺序地给虚拟用户分配参数值。如果正在运行的虚拟用户访问数据表的时候,它会取到下一行中可用的数据。

  B、 随机(Random):该方法在每次迭代的时候会从数据表中取随机数

  C、 使用种子取随机顺序(Use Random Sequence with Seed):如果从Loadrunner的控制器来运行scenario,你可以指定一个种子数值用于随机顺序。每一个种子数值在测试执行的时候代表了一个随机数的顺序。无论你何时使用这个种子数值,在scenario中同样的数据顺序就被分配给虚拟用户。如果在测试执行的时候发现了一个问题并且企图使用同样的随机数序列来重复测试,那么,你就可以启动这个功能(可选项)。

D、 唯一(Unique):Unique方法分配一个唯一的有顺序的值给每个虚拟用户的参数。


TAG:

mylpzhuang的个人空间 引用 删除 mylpzhuang   /   2011-08-08 15:15:10
5
280660573的个人空间 引用 删除 280660573   /   2011-07-21 16:15:55
5
280660573的个人空间 引用 删除 280660573   /   2011-07-21 16:15:44
 

评分:0

我来说两句

Open Toolbar