一、怎么启动loadrunner11

运行“setup.exe”

点击安装,其中会有提示缺少“Microsoft Visual C++ 2005 SP1运行组件”,下载这个组件。这里安装“vcredist_x86.exe”。安装完成后在一次运行“setup.exe”时,安装程序会自动检查所需组件是否都已安装,确定都安装后弹出如下页面。

loadrunner(怎么启动loadrunner11)

安装完成后,系统会自动打开“Loadrunner License Information”窗口,并提示你的“license”只有十天的使用期。

破解篇

1、下载破解文件,此处我们使用已经下载好的文件“lm70.dll”和“mlr5lprg.dll”。

2、将“lm70.dll”,“mlr5lprg.dll”这两个文件复制并粘贴到LR11安装目录下的bin文件夹下,一般是C:\Program Files\Mercury\LoadRunner\bin。复制时注意要先将loadrunner关闭,否则会出现复制出错的提示。

3、复制后启动loadrunner,如下图选择“CONFUGURATION—>loadrunner license”。

loadrunner(怎么启动loadrunner11)

选择“New License”,输入“ AEAMAUIK-YAFEKEKJJKEEA-BCJGI”

这是因为这里已经有试用的“license”了,下面我们将试用的“license”删除。

现在我们使用loadrunner注册表删除工具来删除此程序注册表中的license。(运行“lr删除注册表”)。注意要先将LR关闭。运行程序,

可以安照刚才的步骤重新启动Loadrunner了。再次选择“CONFUGURATION—>loadrunner license”

这时会发现,License中已经空了。

还是点击“New License”,首先输入globa-100的注册码:AEAMAUIK-YAFEKEKJJKEEA-BCJGI

继续点击“New License”,输入web-10000的注册码:AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB。

到此,安装,破解工作就全部完成了。

二、loadrunner如何使用

1、使用LoadRunner完成测试一般分为四个步骤:

2、Vvitrual User Generator创建脚本

创建脚本,选择协议

录制脚本

编辑脚本

检查修改脚本是否有误

3、中央控制器(Controller)来调度虚拟用户

创建Scenario,选择脚本

设置机器虚拟用户数

设置Schedule

如果模拟多机测试,设置Ip Spoofer

4、运行脚本

分析scenario

分析测试结果

5、安装LoadRunner中文版

LoadRunner分为Windows版本和Unix版本。如果我们的所有测试环境基于Windows

平台,那么我们只要安装Windows版本即可。本章讲解的安装过程就是LoadRunner7.8中文的Windows版本的安装。

6、使用LoadRunner进行负载/压力测试

7、录制基本的用户脚本

创建用户脚本需要用到VuGen。提示:运行VuGen最好在1024*768的分辨率下,否则有些工具栏会看不到。

启动Visual User Generator后,通过菜单新建一个用户脚本,选择系统通讯的协议。

这里我们需要测试的是Web应用,同时考虑到后台SQL数据库所以我们需要选择Web(HTTP/HTML)协议+SQL SERVER协议,确定后,进入主窗体。通过菜单来启动录制脚本的命令。

8、在URL中添入要测试的Web站点地址..。

●测试选择要把录制的脚本放到哪一个部分,默认情况下是“Action”。

这里简单说明一下:VuGen中的脚本分为三部分:vuser_init、vuser_end和Action。其

中vuser_init和vuser_end都只能存在一个,不能再分割,而Action还可以分成无数多个部分(通过点击New按钮,新建ActionXXX)。在录制需要登陆的系统时,我们把登陆部分放到vuser_init中,把登陆后的操作部分放到Action中,把注销关闭登陆部分放到vuser_end中。(如果需要在登陆操作设集合点,那么登陆操作也要放到Action中,因为vuser_init中不能添加集合点)在其他情况下,我们只要把操作部分放到Action中即可。注意:在重复执行测试脚本时,vuser_init和vuser_end中的内容只会执行一次,重复执行的只是Action中的部分。

点“选项”按钮,进入录制的设置窗体,这里一般情况下不需要改动。

●然后点“OK”后,VuGen开始录制脚本。在录制过程中,不要使用浏览器的“后退”功能,LoadRunner支持不太好!录制过程中,在屏幕上会有一个工具条出现。录制的过程和WinRunner有些类似,不再多介绍。录制完成后,按下“结束录制”按钮,VuGen自动生成用户脚本,退出录制过程。

完善测试脚本

当录制完一个基本的用户脚本后,在正式使用前我们还需要完善测试脚本,增强脚本的

灵活性。一般情况下,我们通过以下几种方法来完善测试脚本。插入事务、插入结合点、插入注解、参数化输入。这里只举例介绍参数化如何设置,其它只作简单介绍。

插入事务

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

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

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

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

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

插入集合点

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

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

注意:集合点经常和事务结合起来使用。集合点只能插入到Action部分,vuser_init和vuser_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.dat、pm.dat或者lpt*.dat等系统装置名下面我们将会连接数据库,从数据表中选择用户名。点“数据向导”按钮,显示如图

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

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

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

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

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

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

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

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

4.3单机运行测试脚本

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

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

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

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

三、LoadRunner原理

LoadRunner工作原理:

LoadRunner通过模拟上千万用户实施并发负载,实时性能监控的系统行为和性能方式来确认和查找问题。

1、VuGen发生器:捕捉用户的业务流,并最终将其录制成一个脚本:

(1)选择相应的一种协议;

(2)在客户端模拟用户使用过程中的业务流程,并录制成一个脚本;

(3)编辑脚本和设置Run-Time Settings项;

(4)编译脚本生成一个没有错误的可运行的脚本。

2、控制器(Controller):

(1)设计场景,包括手动场景设计和目标场景设计两种方式;

(2)场景监控,可以实时监控脚本的运行的情况。可以通过添加计数器来监控Windows资源、应用服务器和数据库使用情况。

场景设计的目的是设计出一个最接近用户实际使用的场景,场景设计越接近用户使用的实际情况,测试出来的数据就越接近真实值。

3、负载发生器(Load Generators):模拟用户对服务器提交请求。

通常,在性能测试过程中会将控制器和负载发生器分开;当使用多台负载发生器时,一定要保证负载均衡(指在进行性能测试的过程中,保证每台负载发生器均匀地对服务器进行施压)。

4、分析器(Analysis):主要用于对测试结果进行分析。

其原理图如下: