51Testing软件测试论坛

标题: loadrunner 并发注册 [打印本页]

作者: kun_fly    时间: 2008-4-5 23:13
标题: loadrunner 并发注册
我用loadrunner并发注册用户,为什么模拟20人同时注册时只有3个通过,而同时模拟100个用户注册有47个通过,这是怎么回事啊??
作者: msnshow    时间: 2008-4-6 20:48
要结合你的应用LOG来看是什么原因
作者: ld_abc    时间: 2008-4-7 09:33
这个是不是就是传说中的丢包?
作者: kun_fly    时间: 2008-4-7 16:50
各位,我用Loadrunner模拟100个用户并发注册,提示通过39个,但后台数据库实际只有2个注册成功,这是怎么回事啊!
作者: yinyin0625    时间: 2008-4-7 21:15
标题: 可能你的程序有问题
我遇到过,50个用户同时提交数据,只有30多个过去的情况出现
后来查询才知道是程序有问题.
你可以找开发看看

或者你看看你的参数设置的有没有问题.
有时候参数设置的不正确,也会有这个问题
作者: kun_fly    时间: 2008-4-9 14:30
我要模拟20个用户并发注册用户名,在提交注册处设置集合点,然后再controller中开始加压,运行完成后,提示有15个用户通过,但是查询数据库记录后只有1个用户注册成功。且是参数中的第一个用户。反复测试结果均是这样。
是不是参数设置有问题啊!注册信息中有10项,我只对2项唯一值进行了参数化,即用户名和邮箱 其余并未进行参数化。
参数选择:select next  row  -------sequential                     update value on  ---------each iteration
是不是参数设置的不对,请指教!!
作者: 54111    时间: 2008-4-9 14:50
“且是参数中的第一个用户”
select column中
选择By name {}了吗?

[ 本帖最后由 54111 于 2008-4-9 14:52 编辑 ]
作者: kun_fly    时间: 2008-4-9 15:28
选择了,也就是说只有gameover08可以注册成功。见附图[attach]40854[/attach]
作者: 54111    时间: 2008-4-9 15:39
并发。。。。
用户名  select next now 选择unique
       update value on选择each occurrence
邮箱   select next now 选择same line as name

[ 本帖最后由 54111 于 2008-4-9 15:46 编辑 ]
作者: kun_fly    时间: 2008-4-9 16:31
能说说这样选择的理由吗?不是很明白啊!指教一二,我的选择不行吗/??
作者: kun_fly    时间: 2008-4-9 16:39
按照你的参数取值方法,和我的结果一样。20个用户loadrunner加压时显示通过了14个,但数据库里只有1个成功。且为参数的第一行数据。即参数设置里的第一个用户。这到底是怎么回事呢??
作者: 54111    时间: 2008-4-9 17:47
我只能想的是这个原因:select column中
选择By name {}
你在注册成功那里设置一个检查点,看看结果显示通过几个
参数化的时候把第一个去掉(因为你已经注册过了)
“参数的第一行数据”
今天来不及了,明天我让开发帮我设置一个  万能验证码,用我们网站的帮你实际操作一下,在告诉你
作者: 54111    时间: 2008-4-10 09:24
太失败了,我一个也没注册上
作者: 54111    时间: 2008-4-10 09:40
我仔细看了下脚本
我的版本是8.0了,我连脚本都录不全
有几个注册信息只用JS实现的(没有和服务器建立通信),也没有用到别的技术(比如ajax)
(而LR是基于协议进行录制的,javascript是客户端的一种行为,LR无法录制。  )
换一种想法,
“注册信息中有10项,我只对2项唯一值进行了参数化,即用户名和邮箱 其余并未进行参数化”
你是不是想做业务并发操作时,有2个地方参数化。还是说就想对“注册”这一操作。
可不可以换成,用户登陆发帖?
用户名 参数化   发帖 参数 化,可不可以实现你的想法。如果能实现你的想法的话,还是像我说 的:
1.select column中 选择By name {}
2.用户名  select next now 选择unique
       update value on选择each occurrence
3.发帖  select next now 选择same line as name
可以实现

[ 本帖最后由 54111 于 2008-4-10 11:20 编辑 ]
作者: kun_fly    时间: 2008-4-10 11:21
谢谢你的支持,帮忙看看这些代码
web_submit_data("User_RegPost.asp",
                "Action=http://www.52eft.com/Reg/User_RegPost.asp",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://www.52eft.com/Reg/User_Reg1.asp?Action=apply&PE_ComeUrl=%3C%25%3DComeUrl%25%3E&btnSubmit=+%CE%D2%CD%AC%D2%E2+",
                "Snapshot=t9.inf",
                "Mode=HTTP",
                ITEMDATA,
                "Name=UserName", "Value={UserName}", ENDITEM,
                "Name=Password", "Value=00000000", ENDITEM,
                "Name=PwdConfirm", "Value=00000000", ENDITEM,
                "Name=Question", "Value=我家的宠物的名字?", ENDITEM,
                "Name=select", "Value=我家的宠物的名字?", ENDITEM,
                "Name=Answer", "Value=我家的宠物的名字?", ENDITEM,
                "Name=Email", "Value={Email}", ENDITEM,
                "Name=Homepage", "Value=http://", ENDITEM,
                "Name=QQ", "Value=", ENDITEM,
                "Name=ICQ", "Value=", ENDITEM,
                "Name=MSN", "Value=", ENDITEM,
                "Name=Yahoo", "Value=", ENDITEM,
                "Name=UC", "Value=", ENDITEM,
                "Name=Aim", "Value=", ENDITEM,
                "Name=OfficePhone", "Value=", ENDITEM,
                "Name=HomePhone", "Value=", ENDITEM,
                "Name=Fax", "Value=", ENDITEM,
                "Name=Mobile", "Value=", ENDITEM,
                "Name=Country", "Value=中华人民共和国", ENDITEM,
                "Name=Province", "Value=北京市", ENDITEM,
                "Name=City", "Value=昌平区", ENDITEM,
                "Name=Address", "Value=", ENDITEM,
                "Name=ZipCode", "Value=", ENDITEM,
                "Name=TrueName", "Value=", ENDITEM,
                "Name=Birthday", "Value=", ENDITEM,
                "Name=IDCard", "Value=", ENDITEM,
                "Name=Vocation", "Value=", ENDITEM,
                "Name=Company", "Value=", ENDITEM,
                "Name=Department", "Value=", ENDITEM,
                "Name=PosTitle", "Value=", ENDITEM,
                "Name=Marriage", "Value=0", ENDITEM,
                "Name=Income", "Value=2000", ENDITEM,
                "Name=UserFace", "Value=", ENDITEM,
                "Name=FaceWidth", "Value=", ENDITEM,
                "Name=FaceHeight", "Value=", ENDITEM,
                "Name=Sign", "Value=", ENDITEM,
                "Name=Privacy", "Value=0", ENDITEM,
                "Name=RegAnswer0", "Value=", ENDITEM,
                "Name=RegAnswer1", "Value=", ENDITEM,
                "Name=RegAnswer2", "Value=", ENDITEM,
                "Name=CheckCode", "Value=", ENDITEM,
                "Name=Action", "Value=SaveReg1", ENDITEM,
                "Name=Submit2", "Value= 提交注册信息 ", ENDITEM,
                LAST);

这是我录制的注册时提交的信息,部分信息是代码已经屏蔽了。如果我想打印出我设置的参数,怎么添加输出语句阿。
我不会用loadrunner函数语句
作者: 54111    时间: 2008-4-10 11:47
   我也只是会录制脚本简单的编辑一下,对于函数没有研究。希望会的帮忙解答一下吧。
lr_output_message 不知道是不是用这个函数
作者: belie    时间: 2008-4-11 16:11
好像要用IP欺骗吧?
如果要后台数据库能显示多个模拟登陆用户,好像和被测程序的设置是有关的.
作者: huchao    时间: 2008-4-14 14:48
标题: xinshou

作者: 54111    时间: 2008-4-15 08:38
楼上的头像太搞笑了,刚哥
作者: kun_fly    时间: 2008-4-17 11:50
急啊!!!!
作者: zhybing    时间: 2008-4-18 10:35
参数选择出错了,看你得参数更新如下所示:
参数选择:select next  row  -------sequential                     update value on  ---------each iteration
如此选择时,参数得更新是这样得,每个用户取参数时,都是从参数列表得第一个参数开始取,参数值只在每次迭代时才执行更新,而你没有设置迭代,所以你所有用户所取得的参数值都是相同的。
select next  row  -------unique                   update value on  ---------each iteration
就可以了,好好看看参数是如何更新的吧
作者: zhangfangfang46    时间: 2008-4-18 15:00
将select next  row  -------sequential 修改为select next  row  -------unique这个
试下
我相信应该是可以的啦
作者: kun_fly    时间: 2008-4-24 17:06
先谢过大家了,但是问题依旧存在。不知怎么回事 !!
作者: adiao    时间: 2008-4-24 17:25
我注册脚本中参数是这样设置的,UserName和e_mail共用一个dat文件
"Name=username", "Value={UserName}", ENDITEM,
"Name=email", "Value={e_mail}", ENDITEM,
"Name=reEmail", "Value={e_mail}", ENDITEM,
"Name=password", "Value=a20080408", ENDITEM,
"Name=rePassword", "Value=a20080408", ENDITEM,

[attach]41482[/attach]
[attach]41483[/attach]

在Run-Time Settings  General下的log,选择Extended log,并勾选Parameter substitution
[attach]41484[/attach]

在Controller中切换到Run页面,Start Scenario后点击下面的Vusers...,右键点击某一Vusers,在弹出的菜单中选择Show Vuser log,就能看到参数是取的哪个了
[attach]41485[/attach]
[attach]41486[/attach]
[attach]41487[/attach]
[attach]41488[/attach]

[ 本帖最后由 adiao 于 2008-4-24 17:30 编辑 ]
作者: dujun    时间: 2008-4-24 17:26
关注中 楼主解决问题了嘛
作者: jijie7917    时间: 2008-4-24 23:31
我也正在为这个问题郁闷呢
我是20个注册进去5个,选择的是sequential和each iteration
还没有解决这个问题啊.
哪位大虾帮帮忙吧
作者: tytesting    时间: 2009-6-29 17:50
我也遇到这个问题了,楼主的问题解决了吗?怎么没有发贴了呢?
而且我也检查了我的参数日志,每个参数都获取到了,并且没有重复的,可是10个用户同时注册,就是只有4个用户的信息成功添加进数据库,而运行结果上显示的是所有事务全部通过
作者: 程尔    时间: 2010-3-4 11:28
关注中。。。。。。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2