51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1955|回复: 6
打印 上一主题 下一主题

[原创] 请教:参数化的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-3-15 09:12:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
请教各位兄弟姐妹们一个问题,我在使用LoadRunner时如何虚拟用户和参数化数据对应起来。比如,我参数化了一个变量,数据分别是1,2,3,4......,10,有10个虚拟用户运行此脚本,如何能保证user1使用1,user2使用2,user3使用3,依此类推。谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

7#
发表于 2007-8-23 15:38:03 | 只看该作者
自己设置一下试试看,就什么都明白了,要主动,sdlkfj1 .
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-4-3 11:31:54 | 只看该作者
为什么不举个实例,教教我们怎么操作,前面那个版主老兄没必要把教程拷上来呀。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2005-3-17 21:49:43 | 只看该作者
参数化输入
       
(由于图片传不上来,建议去看LR的用户手册,上面写的更清楚)
如果用户在录制脚本过程中,填写提交了一些数据,比如要增加数据库记录。这些操作 都被记录到了脚本中。当多个虚拟用户运行脚本时,都会提交相同的记录,这样不符合实际 的运行情况,而且有可能引起冲突。为了更加真实的模拟实际环境,需要各种各样的输入。 参数化输入是一种不错的方法。

用参数表示用户的脚本有两个优点:

① 可以使脚本的长度变短。
② 可以使用不同的数值来测试你的脚本。例如,如果你企图搜索不同名称的图书,你 仅仅需要写提交函数一次。在回放的过程中,你可以使用不同的参数值,而不只搜索一 个特定名称的值。

参数化包含以下两项任务:

① 在脚本中用参数取代常量值。
② 设置参数的属性以及数据源。 参数化仅可以用于一个函数中的参量。你不能用参数表示非函数参数的字符串。 另外,不是所有的函数都可以参数化的。 参数化输入的讲解,我们采用一个例子的方式来进行。



2003-8-21        第 21  页 共 76  页        作者:huior        MSN :huior_99@hotmail.com

LoadRunner 使用说明        制作单位:软件测试中心



假如有以上的一个提交数据的窗体,我们想参数化高亮显示的部分(31)。操作方法很 简单,我们只要选中“31”,然后点鼠标右键



选择“Replace with a parameter. ”,出现以下窗口:

下面我们重点介绍一下参数的类型。
        DateTime:很简单,在需要输入日期/时间的地方,可以用 DateTime 类型来替代。 其属性设置也很简单,选择一种格式即可。当然也可以定制格式。
        Group Name:暂时不知道何处能用到,但设置比较简单。在实际运行中,LoadRunner 使用该虚拟用户所在的 Vuser Group 来代替。但是在 VuGen 中运行时,Group Name 将会是 None



2003-8-21        第 22  页 共 76  页        作者:huior        MSN :huior_99@hotmail.com

LoadRunner 使用说明        制作单位:软件测试中心


        Load  Generator  Name :在实际运行中,LoadRunner   使用该虚拟用户所在 Load
Generator 的机器名来代替。
        Iteration  Number :在实际运行中,LoadRunner  使用该测试脚本当前循环的次数来 代替。

        Random Number :随机数。很简单。在属性设置中可以设置产生随机数的范围
        Unique Number:唯一的数。在属性设置中可以设置第一个数以及递增的数的大小。 注意:使用该参数类型必须注意可以接受的最大数。例如:某个文本框能接受的 最大数为 99。当使用该参数类型时,设置第一个数为 1,递增的数为 1,但 100 个 虚拟用户同时运行时,第 100 个虚拟用户输入的将是 100,这样脚本运行将会出错。 注意:这里说的递增意思是各个用户取第一个值的递增数,每个用户相邻的两次循 环之间的差值为 1。举例说明:假如起始数为 1,递增为 5,那么第一个用户第一 次循环取值 1,第二次循环取值 2;第二个用户第一次循环取值为 6,第二次为 7; 依次类推。
        Vuser ID:设置比较简单。在实际运行中,LoadRunner 使用该虚拟用户的 ID 来代 替,该 ID 是由 Controller 来控制的。但是在 VuGen 中运行时,Vuser ID 将会是 –1。
        File:需要在属性设置中编辑文件,添加内容,也可以从现成的数据库中取数据(下 面我们将会介绍)
        User Defined Function:从用户开发的 dll 文件提取数据。就目前我认为,这种方式 没有必要。VuGen 支持 C 语言的语法,在 VuGen 中重新编写类似的函数应该不难。
(一家之言,仅供参考) 上面的例子中,我们取随机数即可。

点“Properties … ..”按钮,进行属性设置窗口
























2003-8-21        第 23  页 共 76  页        作者:huior        MSN :huior_99@hotmail.com

LoadRunner 使用说明        制作单位:软件测试中心



添入随机数的取值范围为(1-50),选择一种数据格式。在 Update Value on  中有以下几 个选项:

        Each Occurrence:在运行时,每遇到一次该参数,便会取一个新的值
        Each iteration:运行时,在每一次循环中都取相同的值         Once:运行时,在每次循环中,该参数只取一次值 这里我们用的是随机数,选择 Each Occurrence 非常合适。
下面我们再举一个 file 的例子。我们要用数据库中的用户名来参数化登陆用户名。



选择要参数化的数据,右键,选择“Replace with a parameter. ”,出现以下窗口:



2003-8-21        第 24  页 共 76  页        作者:huior        MSN :huior_99@hotmail.com

LoadRunner 使用说明        制作单位:软件测试中心


点“Properties … ..”,按钮,出现以下窗口



注意:参数的文件名不要使用 con.dat、pm.dat 或者 lpt*.dat 等系统装置名


下面我们将会连接数据库,从数据表中选择用户名。点“Data Wizard”按钮



使用第 2 项,下一步






2003-8-21        第 25  页 共 76  页        作者:huior        MSN :huior_99@hotmail.com

LoadRunner 使用说明        制作单位:软件测试中心





添入连接字符串和 SQL 语句后,点 Finish 按钮,出现查询结果。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-3-17 17:19:52 | 只看该作者
去看看实际的例子,可以找到这方面的资料的
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2005-3-17 10:40:58 | 只看该作者
我是使用的Unique,但如果只是设置这个的话,达到的效果好像是第一个到达的用户使用第一个参数,第二个到达的用户使用第二个参数,是这样吗?
“设置相关的选项”可否说的详细一些?谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2005-3-15 09:34:47 | 只看该作者
用唯一的方式来制定,并且设置一下相关的选项
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-22 22:16 , Processed in 0.072215 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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