LR使用过程中,设置场景以及迭代方式必须选择。我在这个问题上纠结了很久,设置了迭代方式之后,脚本怎么运行,会出什么结果,我无法预判。网上的视频很多,学习当时好像理解了,转眼就懵。终于,在多次自己练习中,终于稍稍明白了其中奥义,特此记录,不喜勿喷。
练习过程中,用表格记录了不同情况,加上一点个人的解析。
1.写一个简单的脚本
事务语句就一个: lr_eval_string ("{NewParam}");(输出参数值中的字符)
newparam是参数名,参数内容为:甲乙丙丁戊
脚本执行的时候,就会在回放日志中显示对应字符


2.分别在init / action / end 中填写事务语句

vuser_init()
{
lr_eval_string ("{NewParam}");
return 0;
}
action与end中一样如上
3.点右上角倒数第二个“
”按钮,进入参数列表,设置迭代方式与取值方式。
select next row :我选的是 sequential;
update value on :中有三个选项,我这里Each iteration / Each occurrence 交替选择对比结果
4.点右上角
右边的按钮,进入场景设置,设置迭代次数。

以下是不同情况的结果表:
情况1:init / action /end 中各有一个事务

情况2与情况3意义相同:init 或 end 中有action事务

情况4:run中:有两个action

情况5:run部分,添加了一组 init /action /end


情况6:run部分添加了block,block部分是一组init /action /end ,且执行2次


情况8:在情况7的基础上,将action中的事务脚本删除

通过这些场景的设置,以及输出的结果,终于明白了循环迭代与取值的关系,能够预判脚本执行后的结果。也就才能在测试的时候,制定合适的测试计划。
总结:
1.迭代次数决定取值数目。
2.每次迭代取值,与ACTION是否有取值无关——即使action个中无事务取值,迭代依然按计划进行。
3.迭代只针对run部分存在的事务进行迭代,init 与end部分任务永远只执行1次。
PS:觉知此事要躬行,自己手动操作下,会更容易明白。
下面的网址是我在b站上找到的免费学习视频,希望有帮助。
https://www.bilibili.com/video/av22623157
(第一次写博客,比我想象的要繁琐多,所以省去了界面步骤介绍,界面不熟的同学对不起了。)
本文记录了作者在LoadRunner中理解迭代取值的过程,通过设置不同的事务语句位置和迭代方式,详细分析了不同场景下的执行结果,强调了迭代次数、ACTION中的取值与迭代的关系,并总结了关键点:迭代只针对run部分,init和end执行一次。此外,提供了免费学习资源链接。

2017

被折叠的 条评论
为什么被折叠?



