Loadrunner性能、接口测试工具

             LoadRunner,是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。    LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。 
           性能测试---认识LoadRunner的三大组件
 第一、LoadRunner的工作原理(录制--回放)

1、录制时,LoadRunner记录下,客户端和服务器二者之间的对话

2、回放时,LoadRunner模拟真实的客户端向服务器发起请求,并按照脚本去验证服务器的应答

说明:有时脚本录制不下来,自己写脚本,发现测试通过了,但是实际生产环境运行的时候服务器瘫痪了。

原因:没有模拟出真实客户端请求服务器的效果,接收出现问题,导致失败

第二、LoadRunner的三大组件

1)虚拟用户脚本生成器(virtual user Generator)VUG

功能:录制脚本,编辑测试脚本

2)压力调度控制台(controller)

功能:创建场景,运行场景,监控场景,收集测试数据

3)压力结果分析器(Analysis)

功能:把收集到的测试数据以图表的形式展示出来,生成测试报告

进程和线程的关系:

线程是有进程分出的,让更多的任务同时执行

每个虚拟用户都是一个线程,线程比较省资源

 下面是 自己在使用loadrunner  测试工具中遇到的各种问题:

问题:有的时候打开loadrunner的vugen,controller,analysis启动慢,假死,有时候点开没反应,2分钟才打开。

解决方法:更改.net安装目录中一个配置文件machine.config。

操作步骤:

1、找到文件machine.config

该文件位于.net安装目录下v2.0.50727\CONFIG(如C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG)

2、使用文本编辑配置文件,配置文件runtime节点

修改前:

我们加上:

<runtime>
     <generatePublisherEvidence enabled="false"/>
</runtime>

3、保存后再启动

2、LoadRunner未响应或IE弹不出来

1)右击我的电脑>属性>高级 点选性能中的设置

2)打开对话框,进入“数据执行保护”,如果空白中没有Internet Export请添加选择 点击添加将LR安装目录bin下Vuge.exe添加进去。如下图所示:

注意IE路径选择x86路径下的,如下图所示:

3)IE设置去掉第三方xxx Internet选项>高级>启用第三方浏览器扩展*

3、LR Controller打开场景,报错:Failed to create Online:无效指针

解决方法:启动LR安装程序,选择修复,修复完成后,重新操作破解步骤

4、Loadrunner Result目录被锁定

问题:在运行LOADRUNNER脚本的过程中,弹出提示;The default result directory is locked ,The results of the execution will b

原因:脚本在执行时不正常被终止,后台进程对结果文件仍保持独占状态

解决方法:

1、关闭vugen,然后打开任务管理器,终止仍在运行的mdrv或mmdrv进程;

2、重新打开,再次运行即可

5、启动loadrunner的web服务器时提示1080端口被占用的解决办法

1.首先打开Windows的cmd窗口

2.输入命令netstat -aon|findstr "1080"

3.显示占用该端口的进程,查看其PID

4.打开任务管理器在“服务”选项卡中查看PID为8260的进程,但是并没有找到,所以需选择用命令直接结束该进程

5.在cmd窗口中输入命令taskkill /f /pid 3014或者ntsd -c q -p 3014(ntsd可以用来关闭系统进程和一些任务管理器不能关闭的进程)

6.提示成功关闭该进程

7.再次启动loadrunner的web服务,启动成功

6、多台负载机的设置

负载机开启进程LoadRunner Agent Process ,测试机直接添加IP即可

7、JDK环境配置

JDK使用32位安装包,JDK环境配置后需要重启整个LR软件才生效

8、Run-timeSettings设置

1、去掉自动默认的事务

Run-time Settings》Miscellaneous》Automatic Transactions 在脚本和场景设置中同时勾上这两项,保存后,再去掉勾选这两项,再保存,即可解决问题

自动默认的事务,如下所示:

2、忽略思考时间

3、log设置

4、文本和图片检查点设置

检查点设置后,要保证Vuser>Run-Time Settings>Preferences>Enable Image and text check复选框被选中,否则检查点将不会生效,即使响应信息是错误的,结果显示依然为正确。

例:使用到函数web_find

5、进程和线程设置

6、错误快照设置

Run-time Settings>General>Miscellaneous 勾选Generate snapshot on error

错误结果路径设置

9、Recording Options设置

1、自动关联设置

如果选择“Run Vuser as a process”,则场景运行时会为每一个虚拟用户创建一个进程;

选择“Run Vuser as a thread”则将每个虚拟用户作为一个线程来运行,在任务管理器中只看到一个mmdrv.exe,这种方式的运行效率更高,能造成更大的压力,是默认选项。

进程和线程区别:

线程有自己的全局数据。线程存在于进程中,因此一个进程的全局变量由所有的线程共享。由于线程共享同样的系统区域,操作系统分配给一个进程的资源对该进程的所有线程都是可用的,正如全局数据可供所有线程使用一样。在Controller中将使用驱动程序(如mdrv.exe、r3vuser.exe)运行vuser。如果按进程运行每个vuser,则对于每个vuser实例,都将反复启动同一驱动程序并将其加载到内存中。将同一驱动程序加载到内存中会占用大量的RAM(随机存储器)及其他系统资源。这就限制了可以在任一负载生成器上运行的vuser数量。如果按线程运行每个vuser,Controller为每50个vuser(默认情况下)仅启动驱动程序(如mdrv.exe)的一个实例。该驱动程序将启动几个vuser,每个vuser都按线程运行。这些线程vuser将共享父驱动进程的内存段。这就消除了多次重新加载驱动程序/进程的需要,节省了大量内存空间,从而可以在一个负载生成器上运行更多的Vuser.

2、更改脚本语言操作

Tools---Recording Options 菜单选项,选择General--Script选项,就可以看见可选的语言。

3、recording设置HTTP/HTML

常用设置(非默认设置,需要进行修改)如下:

4、勾选支持UTF-8编码

10、设置IP欺骗

设置固定IP方法:

查看本地IP:网络连接>本地连接>详细信息>IPv4地址

点击属性,双击IPv4,设置IP地址即可

设置完后重新点开IP Wizard,具体操作链接:

http://www.cnblogs.com/fnng/archive/2013/03/02/2940284.html

打开loadrunner ---> Controller ,选择Scenario--->Enable IP Spoofer ,此项打勾后表示允许使用IP欺骗。

11、General Options设置

1、浏览器显示开关

Tools>General Options>Display>勾选show run-time viewer during rej

12、保存数据时闪退

https://zhidao.baidu.com/question/445113231.html

13、LoadRunner脚本执行提升服务器正在运行中

进入任务管理器,找到这个进程:ThumbProcess.exe,关掉这个进程即可解决

14、loadrunner11不支持TLS1.2

15、LoadRunner的Oracle协议,需要安装32位Oracle客户端

需要安装oracle 32位客户端,且需选择第二个选项管理员

16、xml报文格式检查点操作

17、LoadRunner的webservice协议注意点

1、Import Service中Advanced Settings选择Axis/Java based Web Services Framework,默认是.NET Framework会导致执行报错。

2、参数值配置勾选Value,如下图所示:

3、文件不可保存中文及中文目录下否则会报错
报错信息如下:

18、参数值增加显示个数

File数据库文件默认只看到100个值,如果想使用更多值,请修改“安装目录/config/vugen.ini”中的[ParamTable]属性下的MaxVisibleLines。

19、参数化策略设置

参考链接:https://www.jianshu.com/p/1b2874243eca
唯一性参数使用,通过设置每个用户需要的数据量,然后使用迭代次数去并发执行。
删除事务的参数策略设置

参考:https://blog.51cto.com/u_15061930/4732459
 
 
posted @ 2024-01-19 10:44  konglingbin  阅读(86)  评论(0编辑  收藏  举报