51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4081|回复: 11
打印 上一主题 下一主题

[求助] 参数化-数据文件属性之数据分配方法和数据更新方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-10-28 10:51:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人初学LR的时候对这块挺困惑的,当时收集了一些相关资料,现整理了一下发出来,相信对刚刚接触到LR的朋友有点作用。


数据分配方法(Select next row)


"Select next row" 列表选项包括"Sequential(顺序)"、"Random(随机)"、"Unique(唯一)"、"Same Line as <parameter>(与以前定义的参数取同一行)"


1>Sequential:该方法顺序地向Vuser分配参数值。当正在运行的Vuser访问数据表的时候,它将会提取下一个可用的数据行。也就是说,按着顺序一个一个取,取了第一行再取第二行,取了第二行取地三行,一次类推。如果在数据表中没有足够的值,则VuGen返回到表中的第一个值,循环直到测试结束。

2>Random:该方法为每个Vuser分配一个数据表中的随机值。比如当前数据表中有100行数据,那么随机数就从1~100之间任取一个,作为行号,去取相应行的参数值数据。

3>Unique:该方法为每一个Vuser的参数分配一个唯一的顺序值。

在这种情况下,必须保证表中的数据对所有的Vuser和它们的迭代是充足的。如果拥有20个Vuser,并且要运行5次迭代,则表中必须至少包含100个唯一值。

超出范围之后可以在When out of values中设置

Abort Vuser-中止

Continue in a cyclic manner-继续循环取值

Continue with last value-取最后一个值

4>Same Line As <parameter>:该方法与以前定义过的参数中同样的一行分配数据,必须制定包含有该数据的列。下拉列表中会出现定义过的所有参数列表。至少其中的一个参数必须是Sequential、Random或Unique

如果数据表中有2列,2个参数定义在列表中,id和password,如下:

id          password

------      ---------

admin       admin888

guest       guest888

...

对于参数id,可以制定Vuser使用Random,而参数password就可以指定方法“Same Line as id”,这样一旦id "admin"被使用,那么,password "admin888"就同时被使用。


上面的Select next row指的是怎么取新值,这里的Update value on指的是什么时候取新值


数据更新方式(Update value on)


"Update value on" 列表中选择一个数据更新方式,以指示在Vuser脚本执行期间,指定如何更新参数值。选项包括"Each iteration(每次迭代)"、"Each occurrence(每次出现)"、"Once(一次)"


1>Each iteration:该方法指示Vuser在每次脚本迭代时使用新值。如果一个参数在脚本中出现了若干次,则Vuser为整个迭代中该参数的所有出现使用同一个值(在同一个迭代中,无论读几次参数,获得的都是同一个参数值)。

2>Each occurrence:该方法指示Vuser在每次参数出现时使用新值(在同一个迭代中,读一次参数,就要取其新值,新值从哪来,由Select next row来规定)。

3>Once:该方法指示Vuser在所有的循环中都使用同一个值(只取一次)


[ 本帖最后由 Lemon_s 于 2008-11-7 11:23 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-10-28 10:52:56 | 只看该作者

参考例子

参考例子:
假设文件中包括以下值:a, b, c, d, e, f …..
脚本中有两个参数取文件中的值,设置三个虚拟用户,每个用户迭代4次

如果选择顺序+迭代
迭代1
迭代2
迭代3
迭代4
User1
aa
bb
cc
dd
User2
aa
bb
cc
dd
User3
aa
bb
cc
dd

如果选择随机+迭代
迭代1
迭代2
迭代3
迭代4
User1
bb (都为随机数,不一定取值是这个顺序)
ff
dd
cc
User2
cc
bb
ee
aa
User3
aa
ee
dd
bb

如果选择唯一+迭代
迭代1
迭代2
迭代3
迭代4
User1
aa
dd
User2
bb
ee
User3
cc
ff
..

回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-10-28 10:53:33 | 只看该作者
如果选择顺序+遇到
迭代1
迭代2
迭代3
迭代4
User1
ab
cd
ef
gh
User2
ab
cd
ef
gh
User3
ab
cd
ef
gh

如果选择随机+遇到
迭代1
迭代2
迭代3
迭代4
User1
ae (都为随机数,不一定取值是这个顺序)
bf
ed
bh
User2
cb
User3
ab

如果选择唯一+遇到
迭代1
迭代2
迭代3
迭代4
User1
ad
User2
be
User3
cf
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-10-28 10:53:56 | 只看该作者
如果选择顺序+一次
迭代1
迭代2
迭代3
迭代4
User1
aa
aa
aa
aa
User2
bb
bb
bb
bb
User3
cc
cc
cc
cc

如果选择唯一+一次
迭代1
迭代2
迭代3
迭代4
User1
aa
aa
aa
aa
User2
bb
bb
bb
bb
User3
cc
cc
cc
cc

如果选择随机+一次
迭代1
迭代2
迭代3
迭代4
User1
cc
cc
cc
cc
User2
ee
ee
ee
ee
User3
bb
bb
bb
bb

数据量:
如果选择唯一+迭代= m*n (m是虚拟用户数,n是迭代次数)
如果选择唯一+遇到= m*n *i(m是虚拟用户数,n是迭代次数,i是在脚本中出现该参数的次数)
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-10-28 13:13:10 | 只看该作者

我也写过一个类似的
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-11-7 11:11:25 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-11-7 11:19:18 | 只看该作者
收录了.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-11-8 10:23:09 | 只看该作者
楼主,可不可以把这个在讲清楚一点啊
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-11-10 14:20:08 | 只看该作者
太感谢楼主了!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    10#
    发表于 2008-11-11 11:46:37 | 只看该作者
    很好的处理技巧。学习。谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-11-11 15:19:02 | 只看该作者
    到处都能见到楼主啊 哈哈
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2012-11-18 15:55:48 | 只看该作者
    学习了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-7 14:43 , Processed in 0.076283 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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