51Testing丛书连载:(十九)性能测试从零开始——LoadRunner入门

发表于:2008-8-19 17:55

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

 作者:柳胜    来源:51Testing软件测试网

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

  提示:小心使用“Replace All”,尤其替换数字字符串的时候。脚本生成器将会替换字符出现的所有情况。
  如果想用以前定义过的参数来替换常量字符串的话,选中该字符串,单击右键,然后选择“Use existing parameters”,从弹出的子菜单中选择参数,或者用“Select from Parameter List”来打开参数列表对话框,如图5-31所示。

  

  图5-30  在右键菜单中选择替换其他变量

  

  图5-31  在右键菜单中选择使用已有参数

  提示:如果用以前定义过的参数来替换常量字符串的话,那么,使用“Parameter List”非常方便。同时,还可以查看和修改该参数的属性。
  对于已经用参数替换过的地方,如果想取回原来的值,那么就在参数上单击右键,然后选择“Restore Original value”。
  提示:不是所有的数据都可以参数化。
  上面LoadRunner给我们提供了一种很方便的机制去参数化。但这种机制的应用范围是有限的,只有函数的参数才能参数化,不能参数化非函数参数的数据。但是同时,不是所有函数的参数都能参数化。
  例如:

lrd_stmt (LRD_CURSOR FAR *mptCursor, char FAR *mpcText, long mliTextLen, LRDOS_INT4 mjOpt1, LRDOS_INT4 mjOpt2, int miDBErrorSeverity);             
LoadRunner只支持mpctext参数化:
lrd_stmt(Csr4, "select name from sysobjects where name =\"<name>\" ", -1, 148, -99999, 0);   

 
  那么,对于不能使用上面机制参数化的数据,我们有没有其他办法将其参数化呢?答案是lr_eval_string,我们可以在Vuser脚本中的任何地方使用lr_eval_string来参数化数据。lr_eval_string用来得到一个参数的值,而参数可以预先在LoadRunner的Parameter List里定义好,也可以是之前通过其他函数创建的。下面是一个小例子:
  //通过lr_save_datetime把七天后的时间保存在date参数中lr_save_datetime("%d %m %y", DATE_NOW + (ONE_DAY*7), "date");
  //通过lr_eval_string把date参数中的值取出来,lr_output_message的输出值为七天后的时间
  lr_output_message("Date is %s",lr_eval_string("{date}"));
  其详细使用方法可参见LoadRunner函数手册。这里需要注意的是:lr_eval_string函数的返回值是一个指向参数值的指针,这个指针指向的内存是LoadRunner内部分配的,每次Iteration后自动释放。如果在Iteration中还有多层循环进行参数化,那么最好不要使用lr_eval_string了,这会导致内存迟迟不能释放。在这种情况下,应该使用lr_eval_string_ext,同时配对使用lr_eval_string_ext_free来及时释放内存。

 

连载一  连载  连载三  连载四  连载五  连载六  连载  连载  连载九  连载十  连载十一  连载十二 

连载十三  连载十四  连载十五  连载十六  连载十七  连载十八

本文选自:《51Testing软件测试作品系列》之一的《性能测试从零开始——LoadRunner入门》 ,本站经电子工业出版社和作者的授权,近期将进行部分章节的连载,敬请期待!

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号