残剑幽梦 发表于 2013-12-3 22:34:05

关于loadrunner迭代次数和Vuser的关系

大家好,我是loadrunner的初学者,最近遇到一个问题,就是录制完脚本后,在Run—Times—Setting里设置脚本的迭代次数和在设计场景时的Vuser有什么区别和联系?
比如:
1、我录制一个用户登录网站的脚本,然后将脚本中的用户名和密码分别参数化,并将这两个参数做关联(same line as),就是密码和用户名保持是同一行,这里距离参数化中有5个用户名和5个密码,参数选择顺序取值,each iteration
脚本最后加一个输出用户名参数的语句      lr_output_message(lr_eval_string("{username}"));
2、设置Run—Times—Setting迭代次数为5,同样为顺序模式
3、回放一遍脚本后,回放日志里显示第一次迭代的输出为 test1 、第二次迭代的输出为 test2 、.......第五次迭代的输出为test5
4、在设计场景时选择手工场景,模式为scenario(不是group),Vuser数为3个,这时候运行场景,loadrunner所模拟的场景的实际运行脚本应该是什么样的呢?

我理解的是   3个虚拟用户都分别运行一次脚本,每次脚本都迭代5次,相当于是运行了15遍脚本,是这样的吗?
那如果是上边说的那样,Vuser和我参数化中的用户是不一样的,是吗?
很困惑,求大神解答,谢谢各位!

残剑幽梦 发表于 2013-12-3 23:04:06

正确的是不是应该是这样的:如果参数化中有5个参数,test1--test5,迭代次数为5,那我Vuser选择3个的时候,其实第一个Vuser已经取了5个参数,这是又牵扯到一个选项,When out of values:
1、      中止:abort Vuser
2、      循环Vuser分配到的列表
3、      只循环最后一个列表项
如果选择的是1,那就终止Vuser,那么第二个和第三个Vuser就是没有取到值的
如果选择的是2,那就循环取参数,那么那么第二个和第三个Vuser都是又重新取了5遍参数
如果选择的是3,那就循环取参数,那么那么第二个和第三个Vuser都是只取第5个参数,即test5

是这样的吗?

残剑幽梦 发表于 2013-12-3 23:12:06

同样是上述的脚本,参数化中username依然是有5个参数,分别为test1、test2......test5,只是把迭代次数改为1,设计场景时Vuser数还是3个,那此时运行场景,第一个Vuser的取值是test1,第二个Vuser的取值是test2,第三个Vuser的取值的test3.理论上是不是应该是这样的?可我实际运行结果为什么不是这样的,实际运行结果是3个vuser都是test1.。。。是我场景设置的时候有错吗?
脚本包括三部分,Vuser_int 、action和Vuser_end,int和end都是空的,action里只有用户登录的脚本,我在设置迭代的时候是设置的Run的迭代次数,Run下边只有一个action。

ttsly18 发表于 2013-12-4 09:09:24

给你个提示,迭代次数只要不是零,通常情况下设置1跟设置1百万在运行场景时都一样。

ffwithvv 发表于 2013-12-4 14:18:17

实验一下不就知道了

残剑幽梦 发表于 2013-12-4 21:30:30

回复 5# ffwithvv


    嗯,谢谢,今天中午无意中发现了,已经弄明白了。
页: [1]
查看完整版本: 关于loadrunner迭代次数和Vuser的关系