关闭

深入解析LoadRunner下的参数化取值

发表于:2011-8-10 13:55

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

 作者:candle806(CSDNblog)    来源:51Testing软件测试网采编

  2、Sequential+Each occurrence(顺序方式+每次取值更新),设置Run—Logic中action循环迭代5次,并运行以上脚本,结果如下:

  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp2"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp3"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp4"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp5"
  Action.c(7): Notify: Parameter Substitution: parameter "paramtemp" =  "temp6"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp7"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp8"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp2"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp3"
  Action.c(7): Notify: Parameter Substitution: parameter "paramtemp" =  "temp4"

  ......

  分析如上的两次迭代回放日志我们可以发现,每一次迭代中取值都在变化,而且都是在读取新的一行数据,当数据读取完之后,又重新顺序读取。这里我们就可以很清晰的认识到Each occurrence和Each iteration之后的结果,是完全不同的方式进行读取的,Each occurrence每一次取值更新的。

  3、Sequential+Once(顺序方式+只读取一次),设置Run—Logic中action循环迭代5次,并运行以上脚本,结果如下:

  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"
  Action.c(7): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"
  Action.c(5): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"
  Action.c(7): Notify: Parameter Substitution: parameter "paramtemp" =  "temp1"

  ......

  从回放日志中可以看出,这里的读取方式很符合Once的字面理解,它只对参数读取一次,由于是顺序读取,所以它就只读取一个第一行数据。关于Once的读取方式是我们通常容易犯错的地方,就以为选择Once可能就是每个参数只读取一次,导致最后可能就只插入一条数据进去进入到库中。

  接下来我们需要了解的就是Select next row中其他两种方式,分别为Random和Unique,具体如下:

  Random:表示随机读取方式

  ● Random+Each iteration,跟顺序读取的结果唯一不同的就是这里是随机读取,取值是每次迭代取值

  ● Random+Each occurrence,随机取值更新方式

  ● Random+Once,随机取一行数据,然后重复迭代读取这一行数据

  Unique:主要是强调取值的唯一性,如果到最后没有该值了,LR提供了其他解决方案,如图所示:

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • ybyq3344
    2016-3-15 16:45:13

    文中有个错误,你是设置的迭代的2次,不是5次

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号