51Testing软件测试论坛

标题: VUser怎么参数化 [打印本页]

作者: chriszhangjx    时间: 2012-1-11 14:24
标题: VUser怎么参数化
现在我要摸你100个用户使用不同的用户名密码登录,我在录制脚本的时候已经将用户名密码参数化了。

我在设置场景时,设置100个用户并发,那么我怎么设置这100个用户使用不同的用户名,密码么,怎么设置参数。
作者: yyc2164708    时间: 2012-1-11 14:29
你需要先搞点用户,然后把用户名和密码放在表里,然后该参数化就参数化用户名、该参数化密码就参数化密码
作者: chriszhangjx    时间: 2012-1-11 14:34
你需要先搞点用户,然后把用户名和密码放在表里,然后该参数化就参数化用户名、该参数化密码就参数化密码
yyc2164708 发表于 2012-1-11 14:29



    恩,这个我知道啊,但是运行场景时,100个用户使用的是同一个用户名和密码呀
作者: 061001    时间: 2012-1-11 14:53
这个需要在新建参数的时候就设置的:参数化过程比较简单,参数化时复杂的是对参数属性的设置。主要是以下两个属性的组合。

  select next row 中有三个选项: Sequential(顺序读取)、Random(随机读取)、Unique (唯一)

  update the value 中也有三个选项: Each Occurrence(每次遇到 )、 Each iteration(每次迭代 )、 Once(一直 )

  这两个属性可以有九种组合方式,每种方式都不一样。接下来我们就用一个小实例来验证一下每种取值方式的效果。

  录制一个lr自带实例WebTours的定单脚本。脚本中将出发城市与到达城市均参数化一下。参数化后还需做个关联(这个就重点说了)保证回放脚本成功。

  设置10个用户并发持续加载的场景(参数文件中有10个数据),用默认设置均可。即每15秒加载两个用户,持续时间为5分钟,每30秒停止5个用户。

  然后并发跑脚本。

  以下为9种组合的测试结果:

  (1)sequential Once

  十个用户 每个用户取值均一样,,每个用户的所有迭代中的取值均一样。

  第一个用户执行了5次迭代,每次迭代均取得第一个参数。

  第二个用户也执行了5次迭代,每次迭代均取的第一个参数。

  第三个。。第四个。等等十个用户均一样。

  (2)unique once

  十个用户 每个用户取值都唯一,每个用户的所有迭代中的取值均一样。

  第一个用户执行了5次迭代,每次迭代均取第一个参数;

  第二个用户执行了5次迭代,每次迭代均取第二个参数;

  第三个。。。第四个。。。依此类推。

  第十个用户执行了5次迭代,每次迭代均取第十个参数。

  (3)Random Once

  十个用户,每个用户为随机取值,每个用户的所有迭代中的取值均一样。

  第一个用户执行了5次迭代,每次迭代均取第三个参数;

  第二个用户执行了5次迭代,每次迭代均取第七个参数;

  第三个。。。第四个。。。依此类推十个用户随机取值。

  (4)Sequential Each iteration

  十个用户,每个用户每次迭代取一个新值。

  第一个用户,第一迭代,取第一个参数 ;第二次迭代,取第二个参数 。。。。第十次迭代,取第十个参数。

  第二个用户,第一次迭代,取第一个参数;第二次迭代,取第二个参数 。。。。第十次迭代,取第十个参数。

  第三个。。第四个。。。依此类推。
作者: oceanwell    时间: 2012-1-11 14:55
1.看下你是不是把登录的Trasaction放 vuser_init中去了
2.看你参数配置那里Update value on是不是设成了Once
你用lr_output_message把那参数打出来,确定一下。
作者: ziheng198688    时间: 2012-1-11 15:01
四楼解释得相当详细啊。
作者: cu_zhuang    时间: 2012-1-11 15:51
恩,是啊
作者: chriszhangjx    时间: 2012-1-11 17:30
回复 4# 061001


我参数设置如下:

When not enough rows:      use behavior of "select next row"
select next row:   Sequential
Update value on :  each interation

然后我把Action"user_login"设置了5此迭代。

最后在“场景设置中”,我设置了100个并发用户,结果每个用户使用的用户名等等都是一样的
作者: chriszhangjx    时间: 2012-1-12 00:02
登录操作放到vuser_init 这个ACTION里面
用户名参数化设置:
Select next row: Unique
Update value on ...
szyszy2000 发表于 2012-1-11 23:32



    谢谢,我去试试。

但是有个疑问,是不是没有迭代,参数化就不会起作用?如果我呢不想放到vuser_init里面是不是就不能成功如我想的了呢
作者: chriszhangjx    时间: 2012-1-12 09:33
1.没有迭代参数化还是生效
2.可以不用放到init里,一般吧,如果不是单独测试登陆的话,只需登陆一次
szyszy2000 发表于 2012-1-12 01:21



我这就是单独测试登录,那么我如何在场景中设置参数化呢,我尝试了各种参数组合就没有成功啊。
作者: mvvztt    时间: 2012-1-12 15:17
我这就是单独测试登录,那么我如何在场景中设置参数化呢,我尝试了各种参数组合就没有成功啊。
chriszhangjx 发表于 2012-1-12 09:33



    参数化是在脚本中进行的,不是在场景中设置的,场景中设置VU数就可以了
作者: chriszhangjx    时间: 2012-1-12 15:31
参数化是在脚本中进行的,不是在场景中设置的,场景中设置VU数就可以了
mvvztt 发表于 2012-1-12 15:17



恩,是的,我在脚本中设置了参数化,100个user name,但是,如果我在场景中设置100个vuser,那么每个用户都会使用相同的用户名。
作者: chriszhangjx    时间: 2012-1-12 15:44
Select next row: Unique
Update value on:Once
这么设置也会?
szyszy2000 发表于 2012-1-12 15:39



这个设置还真没试过,我试试
作者: chriszhangjx    时间: 2012-1-12 15:54
这个设置还真没试过,我试试
chriszhangjx 发表于 2012-1-12 15:44


unique和once这个参数还真可以啊,呵呵,谢谢啦!!




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