51Testing软件测试论坛
标题:
脚本参数化在Generator中迭代运行正确,但Controller中加载Vuser后却没有结果?求助
[打印本页]
作者:
nataliedu
时间:
2007-9-16 17:24
标题:
脚本参数化在Generator中迭代运行正确,但Controller中加载Vuser后却没有结果?求助
最近开始学习LoadRunner,用公司的一个B/S系统做练习。
脚本是这样录制的:
登录系统(Init)。点击进入“要素”分发模块,输入某个“要素”单号,将该“要素”查询出来,双击该要素,子窗口弹出,输入必要信息,确定关闭子窗口。确定分发要素(Action)。退出系统(End)。
采用的协议是Winsocket(因为系统用到delphi控件,所以没有用web)
脚本运行没有错误,参数化“要素”单号后(包含10个左右的参数,并设置为sequential-each iteration),并设置脚本迭代3次,脚本仍然运行正确,即要素正确的分发出去了。
之后我将脚本放入场景中,加载3个虚拟用户,在场景中没有设置脚本迭代(默认迭代一次),运行场景,3个虚拟用户均pass,
但是查询分发的要素时,只有第一个要素分发成功,其余的要素没有被分发。。。。这是怎么一回事呢?
每个虚拟用户是如何执行脚本的呢?虚拟用户运行Action事务和迭代运行事务部分有什么不同呢?
请大家指教,谢谢拉
作者:
lyscu
时间:
2007-9-16 17:28
是不是运行设置出了问题了,我也在学习中。
作者:
mli@dtri.com
时间:
2007-9-16 23:25
要索单号用vuserid做参数试一下,或者设置成sequential-each occurence
作者:
baisnsf
时间:
2007-9-17 00:09
可用sqlserver的事件探查器监视一下sql语句看看到底是怎么回事。
作者:
nataliedu
时间:
2007-9-17 13:14
似乎是Select next row & Update value on 这两个地方没有设置正确,继续试验当中
作者:
tls1015
时间:
2007-9-17 16:43
study
作者:
qiguojie
时间:
2007-9-17 17:46
是更新值的问题~!
every iteration 和 every occurence 在调试回放脚本时可以成功取到3个值,但是在场景中却取不到,为什么呢?
我们可以做个实验:
1、设置runtime-setting里的action的迭代次数为3,然后在场景中运行一个vuser,这样你应该是3个参数值都取到了,
那么如果你运行3个vuser,而runtime-setting里设置迭代为1呢?
那么每一个vuser都会取第一个值,然后就不再取新值,最后的结果也就是3个vuser都是用的一个值,你的结果中当然也只有一个了,:)
occurence也是一样的,:)
如果你想在场景中运行3个vuser,还后每个vuser都取到不同的值去提交,那么你选择下一行(select next row)选择随机或者唯一即可,后面的是不是迭代都没有关系了
作者:
spartan
时间:
2007-9-17 18:03
qiguojie 说的很有道理,强烈支持!!!
楼主的参数的设置方式为:sequential-each iteration。
按照楼主的设置:在controller中有3个虚拟用户,循环次数为1次的话,那第一次循环的时候,三个用户都去同样的参数(即:第一个参数)。 这样就会导致:只有第一个要素分发成功!
正确的设置方法应该是:unique--each iteration.
按照这样的设置:在controller中有3个虚拟用户,循环次数为1次的话,那第一次循环的时候,三个用户将会有各自的参数值(即第一个用户取第一个参数,第二个用户取第二个参数.....)
关于参数的取值可以参照我的blog:
http://www.51testing.com/?120561 ... e_itemid_17704.html
作者:
mli@dtri.com
时间:
2007-9-17 23:06
标题:
回复 #8 spartan 的帖子
我也是这么认为的,所以我认为要索单号用vuserid做参数,或者设置成sequential-each occurence也是可以的
作者:
nataliedu
时间:
2007-9-18 15:55
楼上的说得很对,正确的设置方法应该是:unique--each iteration.
谢谢各位。。。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2