51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2053|回复: 8
打印 上一主题 下一主题

[原创] 参数化时各种名词的意义??

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-1-11 09:58:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在脚本中对变量进行参数化时,对各种名词的意思一直搞不清楚具体是什么意思
比如:一个username参数,在一个脚本中出现了两次,使用file类型参数化,username.dat中共有200行数据。200个虚拟用户跑5分钟。

参数化中,
每次迭代:指1个用户运行一遍脚本,还是200个用户运行一遍脚本?
每次循环:又是哪个?
每次遇到:不论是否在一个脚本中,是否是哪个虚拟用户,只要遇到就改变?

顺序取值(sequential):是200个用户都从第一行顺序取,还是第一用户取第一行,第二个用户取第二行?
随机(random):是在每次运行时随机,还是200个用户每个用户之间都是随机的?
唯一(unique):看说明中,似乎也是顺序取值的,而不是全程取唯一数?
same line as username 也不太明白。
希望哪位能给解释一下,多谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-1-11 12:36:55 | 只看该作者
迭代是指每个用户只要出现一次新的interation则取值,而循环指多次取值,once是只取一次

顺序取值是指每个用户都从第一行开始取,取到最后再回到开始,用户和用户都一样
随机是每个都随机
unique是你要的每个用户之间的数据都分块不同
same line as 是指按照某一个参数取值的行来计算这个参数的行

内容很多,你可以参考我书中有关于参数化的章节,这个章节应该是免费试读的章节有详细介绍
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-1-11 15:43:57 | 只看该作者
找了云层的书,参数化这一章不是试读的,看来想看只能去买了。
迭代和循环的区别还是不太清楚,能举个例子吗?once的只取一次,是每个用户只取一次,还是所有用户都只取一次,取哪次?

顺序、随机和unique都明白了,“same line as 是指按照某一个参数取值的行来计算这个参数的行”还不太清楚
望斑竹再赐教一下
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-1-11 18:01:05 | 只看该作者
额,抱歉看来我记错了,我记得是这个安排成免费的,呵呵

这样说吧,迭代在lr中只有2种方式产生,
1在runtime setting中的run logic设置,可以在run上面设置迭代次数
2.在场景中设置场景的执行时间是持续的
这两种方式在脚本中都会产生start interation事件,这个是迭代
循环就简单了,比如for()就是循环

same line as可以这样说,我有两个参数一个参数的值是a,b,c另外一个参数是1,2,3
那么我设置参数Param1指向abc为随机取值,而另一个参数param2指向123,用same line as param1
当param1取值为b,也就是第二行的时候,param2也会取得第二行 值2
一般我们具体用,都是用一个表多个列,然后参数绑同表多列,来实现两个参数取值同行的效果的
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-1-12 12:54:25 | 只看该作者
明白了。多谢
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-1-12 15:45:31 | 只看该作者
看了一个文档里的说明:
◆Each Occurrence:在运行时, 每遇到一次该参数, 便会取一个新的值
◆Each iteration:运行时, 在每一次循环中都取相同的值
◆Once:运行时, 在每次循环中, 该参数只取一次值
这里面“在每一次循环中都取相同的值”,“在每次循环中, 该参数只取一次值”岂不是一个意思?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-1-12 15:51:52 | 只看该作者
找到LoadRunner的官方文档,终于搞清楚了。

每次出现 Each Occurrence
“每次出现”方法指示 Vuser 在每次参数出现时使用新值。当使用同一个参数的
几个语句不相关时,该方法非常有用。例如,对于随机数据,在该参数每次出现
时都使用新值可能是非常有用的。
每次迭代 Each iteration
“每次迭代”方法指示 Vuser 为每次脚本迭代使用新值。如果一个参数在脚本中
出现了若干次,则 Vuser 为整个迭代中所有出现的该参数使用同一个值。当使用
同一个参数的几个语句相关时,该方法非常有用。
注意:=如果用来创建操作块的参数使用它自己的迭代计数,这时如果指示 VuGen
在每次迭代时更新它们的值,则它指的是全局迭代而不是块迭代。有关操作块的
详细信息,请参阅第 110 页的“创建操作块”。
一次 Once
“一次”方法指示 Vuser 在方案运行期间仅对参数值更新一次。Vuser 为所有出
现的该参数和所有迭代使用同一个参数值。当使用日期和时间时,该类型可能会
非常有用。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2010-1-12 15:57:16 | 只看该作者
另外,还不是特别清楚“迭代”,是不是一个Vuser运行一遍脚本,就是一次迭代,而与具体哪个Vuser无关?
比如5个Vuser迭代10次,那么每个Vuser脚本的迭代编号都是从1到10?还是第一个Vuser迭代编号1-10,第二个Vuser11-20?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    郁闷
    2015-6-16 14:29
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    9#
    发表于 2010-1-12 17:27:40 | 只看该作者

    lr_output_message("第一次取值为:%s",lr_eval_string("{test}"));

    lr_output_message("第二次取值为:%s",lr_eval_string("{test}"));

    自己测试一下,尝试着找找规律。

    lr学习需要多实践的
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-18 17:28 , Processed in 0.069146 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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