LoadRunner脚本优化之block块参数化迭代介绍

LoadRunner的脚本优化时,有时将发送给服务器的请求参数化时,服务器返回的内容也会和参数化的内容相对应,例如发送的请求带有查询key=123,则服务器也会返回含有123相关的内容。这时我们在使用检查点检查服务器返回的数据正确性时,通常也会用到和参数化同样的取值来校验。


这样在每次迭代过程中,每次都会取不同的值,完成检查过程。


但是如果基于实际场景设计的脚本是:在一个迭代周期内,此action需要循环多次,于是引入了block块。将此action加入到一个block块中,设置循环次数为2。再次运行一下,得到这样的结果:


可以发现:在每个iterations时,参数化的值都会更新,但是在单个iterations的多次block循环时,每次取得的参数化的值是一样的,问题来了:如果让每次block块的循环也取得不一样的值呢?

查了下资料,发现通过参数化的设置可以做到。

打开参数化设置框


其中Update value提供了三个可选择方式:

  1. Each iteration每次迭代更新参数值。

  2. Each occurrence:每次出现此参数时,更新此参数值。

  3. Once:只取一次,一直这样用下去。

看到这里后,果断使用Each occurrence方式,坐等运行大吉啦~


红红的提示告诉我,脚本存在错误,仔细看了下,发现了问题原因:

由于参数化的策略是每次出现都会重新取值,这样在find函数和真正调用的函数中,都会调用不同的值,于是就会出现检查的值和实际运行的值总是取的不同的情况。那这种情况应该怎么破呢?

又要用参数化,但检查的函数和运行的函数要用同一参数,但是不能用同一参数配置。可以用以下方法解决:

对检查函数重新定义一个参数化变量“check”,在其参数配置中如下设置:

  1. 选择需要运行的参数化数据表

  2. Select next row策略使用“Same line as NewParam”


重新运行了一下,发现还是会报错:


分析了下,由于checksame line with “NewParam,而NewParam是后运行的,这样就会导致了check总是会慢半拍。于是将这两个变量对调了一下:check变量使用参数化并Update value=Each occurrenceNewParam变量same line with “check,重新运行了下,发现没有错误了。



原文链接

如需转载该篇文章,请注明来自“搜狗测试”


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值