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

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

在这里插入图片描述
这样在每次迭代过程中,每次都会取不同的值,完成检查过程。
在这里插入图片描述
但是如果基于实际场景设计的脚本是:在一个迭代周期内,此action需要循环多次,于是引入了block块。将此action加入到一个block块中,设置循环次数为2。再次运行一下,得到这样的结果:
在这里插入图片描述
可以发现:在每个ITerations时,参数化的值都会更新,但是在单个ITerations的多次block循环时,每次取得的参数化的值是一样的,问题来了:如果让每次block块的循环也取得不一样的值呢?

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

打开参数化设置框
在这里插入图片描述
其中 Update value 提供了三个可选择方式:

Each ITeration:每次迭代更新参数值。

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

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

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

在这里插入图片描述
红红的提示告诉我,脚本没有跑过,仔细看了下,发现了问题原因:

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

那这种情况应该怎么破呢?

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

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

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

Select next row 策略使用“Same line as NewParam”
在这里插入图片描述
重新运行了一下,发现还是会报错:
在这里插入图片描述
分析了下,由于 check 是 same line wITh “NewParam”,而 NewParam 是后运行的,这样就会导致了 check 总是会慢半拍。于是将这两个变量对调了一下:check 变量使用参数化并 Update value=Each occurrence,NewParam 变量 same line wITh “check”,重新运行了下,发现没有错误了。
在这里插入图片描述

学习安排上

如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

在这里插入图片描述

视频文档获取方式:

这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片进群即可自行领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值