参数化输入

上一篇 / 下一篇  2010-07-31 11:51:36 / 个人分类:LoadRunner

4.2.1 插入事务

事务(Transaction):为了衡量服务器的性能,我们需要定义事务。比如:我们在脚本

中有一个数据查询操作,为了衡量服务器执行查询操作的性能,我们把这个操作定义为一个事务,这样在运行测试脚本时,LoadRunner运行到该事务的开始点时,LoadRunner就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在结果中会有反映。

插入事务操作可以在录制过程中进行,也可以在录制结束后进行。LoadRunner运行在

脚本中插入不限数量的事务。

具体的操作方法如下:在需要定义事务的操作前面,通过菜单或者工具栏插入。输入该事务的名称。注意:事务的名称最好要有意义,能够清楚的说明该事务完成的动作。插入事务的开始点后,下面需要在需要定义事务的操作后面插入事务的“ 结束点”。同样可以通过菜单或者工具栏插入。默认情况下,事务的名称列出最近的一个事务名称。一般情况下,事务名称不用修改。事务的状态默认情况下是LR_AUTO。一般情况下,我们也不需要修改,除非在手工编写代码时,有可能需要手动设置事务的状态。

4.2.2 插入集合点

插入集合点是为了衡量在加重负载的情况下服务器的性能情况。在测试计划中,可能会

要求系统能够承受1000人同时提交数据,在LoadRunner中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,LoadRunner就会检查同时有多少用户运行到集合点,如果不到1000人,LoadRunner就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000人时,LoadRunner命令1000人同时去提交数据,从而达到测试计划中的需求。

注意:集合点经常和事务结合起来使用。集合点只能插入到Action部分,vuser_initvuser_end中不能插入集合点。具体的操作方法如下:在需要插入集合点的前面,通过菜单或者工具栏操作输入该集合点的名称。注意:集合点的名称最好要有意义,能够清楚的说明该集合点完成的动作。

插入注释

注释的作用就不多说了,不过插入注释最好是在录制过程中。具体的操作方法如下:在需要插入注释的前面,通过菜单或者工具栏操作

参数化输入

如果用户在录制脚本过程中,填写提交了一些数据,比如要增加数据库记录。这些操作

都被记录到了脚本中。当多个虚拟用户运行脚本时,都会提交相同的记录,这样不符合实际的运行情况,而且有可能引起冲突。为了更加真实的模拟实际环境,需要各种各样的输入。参数化输入是一种不错的方法。

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

① 可以使脚本的长度变短。

② 可以使用不同的数值来测试你的脚本。例如,如果你企图搜索不同名称的图书,你

仅仅需要写提交函数一次。在回放的过程中,你可以使用不同的参数值,而不只搜索一

个特定名称的值。

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

① 在脚本中用参数取代常量值。

② 设置参数的属性以及数据源。

参数化仅可以用于一个函数中的参量。你不能用参数表示非函数参数的字符串。

另外, 不是所有的函数都可以参数化的。

参数化输入的讲解,我们采用一个例子的方式来进行。

在本例中我们参数化用户的登陆名:

先看如下脚本,通过脚本录制找到用户登陆部分,如图

框选住登陆名,点鼠标右键,弹出对话框,选择“替换为新参数”弹出对话框

参数名随意取,建议取通俗易懂的名字,下面我们重点介绍一下参数的类型。

DateTime:很简单,在需要输入日期/时间的地方,可以用DateTime类型来替代。

其属性设置也很简单,选择一种格式即可。当然也可以定制格式。

.Group Name:暂时不知道何处能用到,但设置比较简单。在实际运行中,LoadRunner

使用该虚拟用户所在的Vuser Group来代替。但是在VuGen中运行时,Group Name

将会是None

.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..” 按钮, 进行属性设置窗口

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

Each Occurrence:在运行时,每遇到一次该参数,便会取一个新的值

Each iteration:运行时, 在每一次循环中都取相同的值

Once:运行时,在每次循环中,该参数只取一次值

这里我们用的是随机数, 选择Each Occurrence非常合适。

下面我们再介绍用数据库中的用户名来参数化登陆用户名。

框选住登陆名,点鼠标右键,弹出对话框,选择“替换为新参数”弹出对话框,此时参数名输入:name,参数类型选择File,如图

点“属性”按钮, 出现以下窗口

注意: 参数的文件名不要使用con.datpm.dat或者lpt*.dat等系统装置名。下面我们将会连接数据库,从数据表中选择用户名。点“数据向导” 按钮,显示如图

使用第2项, 选择“使用手动指定SQL语句”点下一步,出现如图窗口

添入连接字符串, 点“创建” 按钮,选择事先配置好的ODBC连接。在SQL语句里输入select查询语句,出现如图窗口

从哪一行开始取值

按列名称取值

提醒: 在参数数据显示区, 最多只能看到100行, 如果数据超过100行, 只能点“编辑” 按钮,进入记事本看。

“选择下一行 ” 有以下几种选择:

Sequential:按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取

Random:在每次循环里随机的读取一个,但是在循环中一直保持不变

 Unique唯一的数。注意:使用该类型必须注意数据表有足够多的数。比如Controller中设定20个虚拟用户进行5次循环,那么编号为1的虚拟用户取前5个数,编号为2的虚拟用户取6-10的数,依次类推,这样数据表中至少要有100个数据,否则Controller运行过程中会返回一个错误。

“按编号”指选择列表中的那一列数据,从左到右分别是123依次

通常用在有关联性的数据上面。我们这里取值Sequential即可。完成设置关闭即可

单机运行测试脚本

经过以上的各个步骤后,脚本就可以运行了。运行脚本可以通过菜单或者工具栏来操作。

执行“ 运行” 命令后,VuGen先编译脚本,检查是否有语法等错误。如果有错误,VuGen

将会提示错误。双击错误提示,VuGen能够定位到出现错误的那一行。为了验证脚本的正

确性, 我们还可以调试脚本,比如在脚本中加断点等,操作和在VC中完全一样,相信大家谁都不会感到陌生。如果编译通过,就会开始运行。然后会出现运行结果。

实施测试

选择脚本,创建虚拟用户

 启用“controller”弹出如图窗口

修改数量

选择刚才录制并保存好的脚本,添加到方案中,点“确定”出现如图

根据需要修改虚拟用户数量,这里我们取“100”根据实现场景设计,取不同数字

点“编辑计划”细化方案,计划名里选择计划种类:加压,缓慢加压、默认计划或新建立计划。

?/FONT>       默认计划:同时加载所有vuser,直到完成

?/FONT>       加压:每15秒启动2vuser持续时间5分种

?/FONT>       缓慢加压::每2分种启动2vuser持续时间10分种

这里我们选择“加压” 出现如图

单位秒内同时加载几个vuser

 点“加压”标签设置加压方法,点“持续时间”标签选择完成时间,点“加压”标签选择退出方法,点“方案开始时间”可以定义时间后自动到点执行,并在一个限定的时间范围内结束,所有设置完毕后,点“ok”返回上一级窗口,点“开始方案”启动运行,出现如图窗口

Windows资源监视窗口

打开可用图中目录树,选择系统资源找到windows资源

 

添加windows资源监视窗口

loadruner默认性能监视窗口四个,分别是“运行vuser“、”事务响应时间“、

“每秒点击次数”最后一个可以根据用户自己选择现实什么窗口。打开可用图中目录树,

选择系统资源,找到windows资源双击,则windows资源监视窗口便自动替换原窗口如上图。当然loadrunner也可以同时显示116个窗口,方法是点右键,在弹出菜单中选择“查看图”选择显示的图数,也可以自定义数字。

添加windows性能计数器

鼠标选择windows资源监视窗口,点击右键弹出菜单中选择“ADD Measurements..”弹出如图窗口

点“添加”把监视的服务器ip地址输入,点确定,如图

如果可以正常联机到服务器,则在资源度量中会显示全部计数器,此时如果点“确定”则系统默认全部选中,在监视窗口中会显示所有性能曲线,无法单独过滤显示某条曲线,如果选中某个计数器后点“添加”则弹出该项目下的其它性能指标,选择需要的计数器后点“添加”如图

 

此时要注意,你登陆客户端(也就是你装有loadrunner机器)的用户应该是管理员身份,同时还要保证该用户在被监视的服务器上也是管理员身份。这样选择虽然监视窗口中仍会显示所有性能曲线,但是可以通过鼠标右键弹出菜单,选中你指定的某条曲线单独显示。方法是双击监视窗口放大显示,然后右键选择“仅显示指定图”监视窗口还可以互相叠加等操作,功能强大,通过右键菜单选择可以进行复杂显示操作。常用的还有web程序服务器图、数据库服务器资源图等,添加方法雷同。计数器有那些,有什么含义,理想值是多少,可以参见第六章节。

执行脚本

此时设置完毕后,那就简单了,点击“开始方案”注意观察吧。

点一下,ok

分析结果

 脚本执行完毕后,loadrunner会自动分析结果,生成分析结果图或表,方法是点导航栏“结果”选现,在弹出窗口中选择“分析结果”


TAG:

 

评分:0

我来说两句

Open Toolbar