51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

12
返回列表 发新帖
楼主: silvertree
打印 上一主题 下一主题

[原创] 一个关于虚拟用户的问题

[复制链接]

该用户从未签到

21#
发表于 2006-12-25 11:14:24 | 只看该作者
参数化有很多策略,有时间是很容易头晕。!为了自己更方便理解。在做参数的每次过程中都输出LOG,可以更加明了!也可以加深理解
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2006-12-25 17:06:04 | 只看该作者
要完全理解参数化我觉得是不太容易的,LR教程上讲的太简单了,LR帮助里也讲的不完全,不过帮助基本的都说到了,
http://bbs.51testing.com/viewthr ... ighlight=%2Bpicture
我的理解,你也可以看帮助!
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2006-12-25 17:26:49 | 只看该作者
谢谢“picture”兄弟的讲解,还是你的直观,一看什么都明白了!
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2006-12-25 18:43:57 | 只看该作者
我不知道你们是怎么做的,我是采用SOCKET来录制的脚本,虚拟了100个用户登陆我们的服务器,只是密码均采用同一个密码,如果采用不同的密码应该在参数化的时候用户名和密码应对应起来,有两列
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2006-12-27 22:28:04 | 只看该作者
当使用文件中的值时,通过 VuGen 可以指定向参数分配值的方法。可用的方法包括:
➤ 顺序
➤ 随机
➤ 唯一

顺序
“顺序”方法顺序地向 Vuser 分配参数值。当正在运行的 Vuser 访问数据表格时,它将会提取下一个可用的数据行。

如果在“更新值的时间”列表框中指定了“每次迭代”,则 Vuser 将为每一次迭代从数据表格中提取下一个值。
如果在“更新值的时间”列表框中指定了“每次出现”,则 Vuser 将为每一次参数的出现从数据表格中提取下一个值,即使它在同一次迭代中。
如果在“更新值的时间”列表框中指定了“一次”,则第一次迭代中分配的值就会在每个 Vuser 接下来所有的迭代中使用。

例如,假定您的表格拥有下面显示的值:
名称
Kim
David
Michael
Jane
Ron
Alice
Ken
Julie


如果选择了“每次迭代”,则所有 Vuser 就会在第一次迭代中使用 Kim,第二次迭代中使用 David,第三次迭代中使用Michael,等等。
如果选择了“每次出现”,则所有 Vuser 就会在第一次出现时使用 Kim,第二次出现时使用 David,第三次出现时使用Michael,等等。
如果选择了“一次”,则第一个 Vuser 为所有的迭代提取Kim,第二个 Vuser 为所有的迭代提取 David,等等。
如果在数据表格中没有足够的值,则 VuGen 返回到表格中的第一个值,循环继续直到测试结束。

                  
随机
当测试开始运行时,“随机”方法为每个 Vuser 分配一个数据表格中的随机值。

如果在“更新值的时间”列表框中指定了“每次迭代”,则 Vuser 将会为每一次迭代从数据表格中提取一个新的随机值。
如果在“更新值的时间”列表框中指定了“每次出现”,则 Vuser 将会为每一次参数的出现从数据表格中提取一个新的随机值,即使它在同一次迭代中。
如果在“更新值的时间”列表框中指定了“一次”,则第一次迭代中分配的随机值就会在该 Vuser 的所有迭代中使用。

当从 LoadRunner Controller 运行一个方案时,您可以指定随机顺序的种子数。每个种子值代表用于测试执行的一个随机值顺序。每当使用该种子值时,都会将相同顺序的值分配给方案中的 Vuser。如果在测试执行中发现问题,并且要使用相同的随机值顺序重复该测试,请启用该选项。


唯一
“唯一”方法为每一个 Vuser 的参数分配一个唯一的顺序值。

如果在“更新值的时间”列表框中指定了“每次迭代”,则Vuser 将为每一次迭代从数据表格中提取下一个唯一值。
如果在“更新值的时间”列表框中指定了“一次”,则第一次迭代中分配的唯一值就会在每个 Vuser 的所有接下来的迭代中使用。
如果在“更新值的时间”列表框中指定了“每次出现”,则 Vuser 将会为每一次参数的出现从数据表格中提取一个新的唯一值,即使它在同一次迭代中。

例如,假定您的表格拥有左侧表格中显示的值。
如果指定了“每次迭代”,对于一个有 3 次迭代的测试运行,第一个 Vuser 在第一次迭代中提取 Kim,第二次迭代中提取 David,第三次迭代中提取 Michael。第二个 Vuser 提
取 Jane、Ron 和 Alice。第三个 Vuser 提取 Ken、Julie 和Fred。

如果指定了“一次”,则第一个 Vuser 为所有的迭代提取Kim,第二个 Vuser 为所有的迭代提取 David,等等。确保表格中的数据对所有的 Vuser 和它们的迭代来说是充足的。如果您拥有 20 个 Vuser,并且要运行 5 次迭代,则您的表格中必须至少包含有 100 个唯一值。

如果数据表格中没有足够的值,您可以指示 VuGen 如何继续运行:“中断 Vuser”、“以循环方式继续”或者“使用最后的值继续”。如果选择使用最后的值继续运行,则 Vuser 将会为所有接下来的迭代使用表格中最后一行的数据。
假如您想要给每一个 Vuser 都分配值,并且不想让那些值在 Vuser 之间共享,要实现该目标,可以在“在 Controller 中分配 Vuser 值”部分中指示 VuGen 为每个 Vuser 的值分配一个特定的编号。默认情况下, VuGen 自动为 Vuser 的值分配必需的编号。

[ 本帖最后由 huangcm 于 2006-12-27 22:30 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2006-12-28 00:34:43 | 只看该作者
还没仔细研究,顶下楼上的
回复 支持 反对

使用道具 举报

该用户从未签到

27#
发表于 2006-12-28 13:54:06 | 只看该作者
我也有一个问题
如果脚本是删除页面上一个table中的某一个行
如果虚拟10个用户
是不是这10个用户都会去执行删除这一行的操作呢
但这个逻辑上好像有点问题
因为一行不能被多次删除的
那要完成这个场景是不是就要给每个用户制定一个不同的行让期操作呢
高手指点一下
回复 支持 反对

使用道具 举报

该用户从未签到

28#
发表于 2006-12-28 19:37:49 | 只看该作者
回答楼上:

可以约定去删除一个table中的第一行( 关联第一行记录的id)
用户A删除一条记录后,改记录就没了,下一条记录就变为第一行,
此时其他用户进行删除操作,又删除了table中的第一行

所以一条记录没有被多次删除,

某行记录是可以被多次删除的,只要它存在
回复 支持 反对

使用道具 举报

该用户从未签到

29#
发表于 2006-12-29 09:44:09 | 只看该作者
to huangcm:多谢多谢
也就是说用LR做压力测试
必须参数化脚本,使得每一个虚拟用户都有真实的数据操作
我之前理解错了
以为LR的虚拟用户只是模拟脚本单个用户执行时压力并不需要做实际操作
我刚刚学习LR的使用
希望多多指点
回复 支持 反对

使用道具 举报

该用户从未签到

30#
发表于 2006-12-29 17:32:57 | 只看该作者

回复 #21 silvertree 的帖子

从哪里可以看到登陆的那些用户名?
回复 支持 反对

使用道具 举报

该用户从未签到

31#
发表于 2006-12-30 00:23:54 | 只看该作者
你可以到相应的日志文件里面去看的啊。最简单的方式,你可以去数据库里看,看什么用户登陆过系统,登陆系统之后进行了什么操作。
数据库可是根源啊。不同用户的行为,最终都会在数据库里面反应出来的。
回复 支持 反对

使用道具 举报

该用户从未签到

32#
发表于 2006-12-30 18:15:43 | 只看该作者
我还是不太明白密码怎么设置才能对应用户名,我们现在的情况是用户名和密码不是存在同一个表中,他的顺序也不可能用同样的方法去取用户名和密码能对应上,这样密码这个做为参数应该怎样设置呢
回复 支持 反对

使用道具 举报

该用户从未签到

33#
发表于 2007-1-5 15:52:30 | 只看该作者
楼上的,你可以在选择,winzard的时候,把下面的unique,什么的设置一下,让他们依次取值就可以拉,在两个表里应该更好办啊,
用户名参数化下,连一个数据池;密码参数化下,再连一个数据池,
应该就可以拉,呵呵,

[ 本帖最后由 netcat 于 2007-1-5 16:06 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

34#
发表于 2007-1-24 15:58:08 | 只看该作者

脸红了。。。

sdlkfj1
一个月后,再翻开以前问过的问题,感到好惭愧,不是因为自己的问题幼稚,而是各位高手们明明已经很清楚的指出了,因为自己的不理解,仍一而再,再而三的问,也许契而不舍的发问是值得称赞的,但是不经过细心理解别人的解答就盲目追问真的让我汗颜!
在此想特别对 xingcyx 和 silvertree  两位的热心帮助表示感谢,也对以前不负责任的问题说声对不起!
请以后继续多多指教!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2014-11-17 11:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    35#
    发表于 2007-1-24 16:52:42 | 只看该作者
    只要将parameter properties中select next row 设为unique,update value on 设为once就可以了,这样设置必须满足一个条件:虚拟用户<=参数的个数。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    36#
    发表于 2007-1-28 00:06:04 | 只看该作者
    ...
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 03:36 , Processed in 0.082182 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表