参数化—性能测试进阶指南 LoadRunner 11实战(第二版)

发表于:2015-1-13 11:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈霁、李锋、王臣钧    来源:51Testing软件测试网原创

  A.6  参数化
  当我们录制完成脚本后,需要对脚本进行进一步的修改,添加参数化功能来确保脚本能够动态运行。下面我们通过一个实例来说明为什么需要使用参数化?
  例如,录制一个用户在论坛发帖的操作,无论如何回放,得到的结果都是发送相同的帖子内容及标题,与用户的真实情况有较大的区别,如图A.75所示。
  这是由于脚本中的内容都是静态造成的,只有通过参数化处理将静态的内容变为动态才能解决这个问题。
  
图A.75  参数化的目的
  A.6.1  参数化的操作
  首先编写一个简单的脚本,如下所示:
  Action()
  {
  lr_eval_string("text");
  return 0;
  }
  关于lr_eval_string()函数的作用我们稍后再做介绍。在这个Action中选中text,然后单击鼠标右键,如图A.76所示。
  在弹出的快捷菜单中选择Replace with a Parameter,将选中的部分替换成参数,如图A.77所示。
  在这里可以修改参数的名称及参数的文件类型,此处选择默认即可,单击OK按钮,得到以下脚本:
  Action()
  {
  lr_eval_string("{NewParam}");
  return 0;
  }
  
图A.76  选择需要参数的内容                   图A.77  参数名和类型设置
  这里的{NewParam}在VuGen中会以紫色显示,说明这是一个参数。NewParam是参数名,而{}是用来说明这个参数的边界的,在General Options/Parameterization中可以设置参数的边界字符。
  这样就完成了参数化的操作。参数值被保存在Parameter List中,按【Ctrl+L】组合键或者单击工具栏中的Parameter List按钮。打开参数列表窗口,如图A.78所示。
  这里有很多选项,我们先不考虑它们的具体含义,单击Add Row按钮,并添加对应的内容,如图A.79所示。
  
图A.78  Parameter List参数管理界面              图A.79  为参数添加多条记录
  添加完成后单击右下角的Close按钮关闭整个Parameter List窗口,整个参数内容设置完毕,回放一下,会发现完全没有任何效果。这里还要多做两件事情:
  1.设置运行的次数
  打开Run-Time Setting,找到Run Logic,设置Run的迭代次数为4次。
  2.打开Log,显示参数存取值信息
  打开Run-Time Settings中的Log选项,选中Enable logging并且使用Always send messages,在Log的等级中设置使用Extended log并且选中Parameter substitution。
  设置完成后,关闭设置对话框,再来运行一次脚本,就会看到Replay log窗口中出现了每次参数取值的结果。
Starting iteration 1.
Starting action Action.
Action.c(3): Notify: Parameter Substitution: parameter "NewParam" =  "text"
Ending action Action.
Ending iteration 1.
Starting iteration 2.
Notify: Next row for parameter NewParam = 2 [table  = NewParam].
Notify: Getting new value for parameter 'NewParam': table = 'NewParam.dat' column = '0' row = '2'.
Starting action Action.
Action.c(3): Notify: Parameter Substitution: parameter "NewParam" =  "text1"
Ending action Action.
Ending iteration 2.
Starting iteration 3.
Notify: Next row for parameter NewParam = 3 [table  = NewParam].
Notify: Getting new value for parameter 'NewParam': table = 'NewParam.dat' column = '0' row = '3'.
Starting action Action.
Action.c(3): Notify: Parameter Substitution: parameter "NewParam" =  "text2"
Ending action Action.
Ending iteration 3.
Starting iteration 4.
Notify: Next row for parameter NewParam = 4 [table  = NewParam].
Notify: Getting new value for parameter 'NewParam': table = 'NewParam.dat' column = '0' row = '4'.
Starting action Action.
Action.c(3): Notify: Parameter Substitution: parameter "NewParam" =  "text3"
Ending action Action.
Ending iteration 4.
本文选自《性能测试进阶指南—LoadRunner 11实战(第二版)》,本站经作者的授权。
版权声明:51Testing软件测试网获作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号