loadrunner

LoadRunner,是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。

LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。LoadRunner 的测试对象是整个企业的系统, 通过模拟实际用户的操作行为和实行实时性能监测, 来帮助企业客户更快的查找和发现问题。

一个优秀的软件系统不单单具有良好的功能,还需要有过硬的性能,一个只通过功能测试的系统,只能称之为“可用”,而不能算是“好用”。当然,性能测试需要基于功能测试,只有系统功能稳定了,性能测试才有意义。性能测试主要包含两个特性:时间和资源。时间指系统处理客户请求的时间,主用用响应时间和吞吐量来衡量,而资源则是指测试过程中系统资源消耗情况,最常受关注的资源包括CPU、内存、磁盘。

性能测试方法主要包括:性能测试、配置测试、并发测试、负载测试、压力测试、稳定性测试。

  • 性能测试:测试环境和测试目标确定的情况下,测试系统是否达到宣称的能力;
  • 配置测试:系统具有一定的测试基础时,通过修改环境配置,例如服务器参数等,对比之前的测试结果进行优化;
  • 并发测试:在同一时间内对服务器进行数据交互的所有用户数量。模拟多个用户并发使用系统,测试系统是否存在死锁、内存泄漏等问题。
  • 负载测试:逐渐向系统添加压力,观察系统资源消耗情况,知道某一项资源达到极限。一般用于度量系统的性能容量,寻找系统瓶颈为系统调优提供数据;
  • 压力测试:系统承受一定的压力的情况下,测试系统是否会出现错误。系统压力包括CPU、内存、磁盘、网络等方面的压力,施加压力的方法包括利用工具占用系统资源、增加并发量等;
  • 稳定性测试:系统承受一定压力的情况下,运行一段时间,测试系统是否平稳运行;
  • 吞吐量:单位时间内对服务器处理请求数量一般是以秒来进行计算  测试的是服务器的承载能力

    F= vu*r/T               Vu是指模拟用户数量           R 是指请求数量            T 测试时间

  • Tps:每秒处理的事务数

  • 资源利用率:cpu 利用率 不能超过70%-80%     内存 80%以内     磁盘 80%以内       带宽

  • 响应时间:指应用系统发出请求开始到客户端接受到所有的数据所消耗的时间      :网络传输时间为  n1+n2+n3+n4、应用延迟时间为  a1+a2+a3   、数据库延迟时间、应用服务器延迟时间

  •  

     

                                                                          

     

 

Loadrunner的主要组件包括:

  • Virtual User Generator(VuGen  ):捕捉用户业务流程,并且自动生成脚本;
  • Controller:控制器。设计场景,主要包括设置不同脚本的虚拟用户数量、迭代次数、执行时间等;
  • Load Generator:负载发生器。模拟用户向服务器发送请求;
  • Analysis:分析器。分析测试结果,(合并 叠加 页面细分 钻取)辅助测试人员进行测试分析;

Loadrunner11安装

初次接触的是Loadrunner12版本,相对而言比11版本的界面更美观,可用性更强,对高版本浏览器的兼容性也更好。奈何目前还没有破解版,vuser最大支持50,于并发测试而言是绝对的硬伤。于是转战Loadrunner11。网上Loadrunner11安装破解教程很齐全,以下便是参照网上的教程安装的记录。

1、下载安装软件

https://pan.baidu.com/s/1i51a3HV

2、解压下载好的ios文件

3、双击setup.exe,按照提示一步一步安装

4、下载破解文件

http://pan.baidu.com/s/1eS7SmD8

5、将“lm70.dll”和“mlr5lprg.dll”文件复制到loadrunner安装目录下的bin目录下

6、点击“CONFUGURATION—>loadrunner license”,点击“New License”,输入“AEAMAUIK-YAFEKEKJJKEEA-BCJGI”,可能会遇到报错“License security violation,operation is not allowed..”。

需要点击破解文件中的deletelicense.exe,随后重新执行上述步骤

7、添加new license,输入AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB,完成!

Loadrunner11录制脚本

1、打开loadrunner11,点击“Create/Edit Script”启动Virtual User Generator。点击File--new,创建脚本文件,选择Web(HTTP/HTML)协议。
[图片上传失败...(image-991c3e-1523440883813)]
2、Loadrunner默认使用IE浏览器,在此我选用火狐浏览器,但是由于Loadrunner11对浏览器版本的要求较为严苛,因此需要下载安装火狐24版本。(下载链接:http://ftp.mozilla.org/pub/firefox/releases/)

3、以loadrunner自带的订票系统为例,Program to record填写火狐浏览器的路径,Program arguments填测试系统的URL,working direction为文件保存路径,自定义即可。填写完成后点击OK,火狐浏览器自动启动并打开订票系统。

 

loadrunner_第1张图片

 

4、首先录制注册用户,按照正常的注册流程,填写用户信息后,登出,并关闭浏览器。点击stop按钮,脚本生成后保存。

 


5、生成的脚本只能注册某个用户,不具备通用性,为了使脚本更具通用性,我们需要将某些变量参数化。

参数

1、每个用户的用户名是不一样的,且不能重复的。首先用参数替换用户名,右击用户名value--点击Replace with a parameter,输入参数名称“username”--点击properties。

 

loadrunner_第2张图片

2、参数类型有很多种,在此用户名参数选择File类型,点击Create Table创建文件。

 

loadrunner_第3张图片

3、文件创建好了,点击Edit with Notepad,使用excel下拉创建20个用户复制到username.dat中,保存后可以看见这20个用户。File数据库文件默认只看到100个值,如果想使用更多值,请修改“安装目录/config/vugen.ini”中的[ParamTable]属性下的MaxVisibleLines。

loadrunner_第4张图片

Select column的方式默认选择“By number”,并且number为1,即选择第一列参数。当然也可以选择By name,选择变量参数名称即可。“Select next row ”设置参数取值方式,由于用户名不能重复在此取值方式选择Unique。

  • Sequence:按照顺序依次取值;
  • Random:随机取值;
  • Unique:唯一取值,为每个虚拟用户分配一条唯一的数据;
  • Same line as ***: 当多个参数时,取某一个参数的同一行;

"Update value on"设置参数更新周期,主要有以下三种更新周期,在此选择每次迭代更新。

  • Each iteration :每次迭代时更新参数的值 ;
  • Each occurrence :每次使用该参数时更新参数的值;
  • Once :执行脚本只取一次值,中途不更新参数的值;

当选择取值方式为Unique时,需要额外设置“When out of value”和“Allocate vuser values in the controller”。其中“When out of value”设置dat文件中的值个数不够时的处理方式,主要有以下几种方式,我们选择“”

  • Abort Vuser:放弃剩下虚拟用户,不再取值;
  • Continue in a cyclic manner: 以循环的方式,重新从开头取值;
  • Continue with last value:当dat文件中的值取完后,持续取最后一个值 ;

“Allocate vuser values in the controller”:设置在controller中并发迭代执行脚本时,为每个vuser分配的参数块大小,选择“Automatically allocate block size”,系统会以迭代次数作为参数块大小,为每个vuser分配参数。例如dat文件中有50个username,当迭代次数为5,vuser个数为8时,会将Test1Test5分配给vuser1,Test6Test10分配给vuser2,以此类推。当dat文件中的值不足时,例如迭代次数为6,vuser个数为9时,最后一个vuser只分配到了2个值,值不足时会根据“When out of value”设置的方式处理,但是仅在块内取值,即只能循环取这两个值。“Allocate ** values for each Vuser”顾名思义就是手动设置参数块大小。

“Automatically allocate block size”方式的优点是方便,不需要根据场景反复编辑脚脚本,缺点就是dat文件中的值个数不够时,vuser分配不到值会报错。而手动设置的优点就是人为控制出错较少,但是每次都需要修改脚本,比较麻烦。
4、双击password的value,点击Replace with a parameter,输入参数名称“passwd”--点击properties,依旧选择File类型参数,点击Browse选择之前创建的文件username.dat,点击“Add column”添加列“passwd”。与之前方式一致,输入50个password值,取值方式设置为“Same line as username”,确保用户名与密码一一对应。

loadrunner_第5张图片

image.png

5、密码确认这一栏输入的值需要与密码保持一致,双击passwordConfirm的value,选择“use existing parameter”--passwd。

loadrunner_第6张图片

6、firstname、lastname等其他变量安照类似的方式设置即可。执行脚本,在loadrunner11安装目录\WebTours\MercuryWebTours\users目录下可以看见生成的用户信息。下面利用controller批量注册这20个用户。

插入事物

1、插入事物是为了更好的衡量服务器的性能,可以在录制脚本的时候,在某个操作前插入事务开始点,该操作完成后插入事务结束点。当然,录制好的脚本也可以插入事务,以本脚本为例,将注册请求定义为一个事务。在“web_submit_data("login.pl_2" ”函数前插入事务开始点,右击鼠标——Insert——Start Transaction,输入事务名称register。

loadrunner_第7张图片

 

采用相同方式在函数下方插入事务结束点,右击鼠标——Insert——End Transaction,输入事务名称register。

2、点击“Run Load Tests”启动controller,设置新场景,选择需要使用的脚本,可以是一个或者多个,然后点击ok。

 

loadrunner_第8张图片

3、点击”场景“——Load Generators,添加Load Generators,在此输入localhost表明连接本地的Load Generators。点击connect,连接Load Generators,如果连接不上则需要进一步定位原因。

loadrunner_第9张图片

 

也可以直接在脚本列表中直接下拉添加Load Generators。因为当前只有一个脚本,vuser比例默认为100%,当同时执行多个脚本时,可以设置每个脚本分配的vuser比例。

loadrunner_第10张图片

4、脚本设置好后开始设置运行场景,双击Initialize设置初始化用户的方式。

loadrunner_第11张图片

 

双击”Start Vusers“设置vuser个数和启动方式。

loadrunner_第12张图片

 

双击Duration设置场景运行周期,选择”Run until completion“则当场景运行完成后同时停止所有vuser。如果选择运行一段时间,则需要设置停止vuser的方式,与设置启动vuser方式类似。

loadrunner_第13张图片

5、点击”start scenario“运行场景,在Run可以看见vuser的状态,以及场景运行过程中的报错信息。场景运行结束后,可以在下方看见一些数据,以便了解被测系统的性能。如下图所示,可以看见事务“register”的响应时间。

loadrunner_第14张图片

6、点击Result——Analyze Results,将会启动Analysis自动生成本次场景执行相关的测试报告。

loadrunner_第15张图片



作者:糯米藕
链接:https://www.jianshu.com/p/1b2874243eca
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

主要功能

虚拟用户

使用LoadRunner的Virtual User Generator,您能很简便地创立起系统负载。该引擎能

loadrunner_第16张图片LoadRunner性能虚拟用户模拟测试

够生成虚拟用户,以虚拟用户的方式模拟真实用户的业务操作行为。它先记录下业务流程(如下订单或机票预定),然后将其转化为测试脚本。利用虚拟用户,您可以在Windows ,UNIX 或Linux 机器上同时产生成千上万个用户访问。所以LoadRunner能极大的减少负载测试所需的硬件和人力资源。

用Virtual User Generator 建立测试脚本后,您可以对其进行参数化操作,这一操作能让您利用几套不同的实际发生数据来测试您的应用程序,从而反映出本系统的负载能力。以一个订单输入过程为例,参数化操作可将记录中的固定数据,如订单号和客户名称,由可变值来代替。在这些变量内随意输入可能的订单号和客户名,来匹配多个实际用户的操作行为。

真实负载

Virtual users 建立起后,您需要设定您的负载方案,业务流程组合和虚拟用户数量。用LoadRunner的Controller,您能很快组织起多用户的测试方案。Controller 的Rendezvous 功能提供一个互动的环境,在其中您既能建立起持续且循环的负载,又能管理和驱动负载测试方案。

而且,您可以利用它的日程计划服务来定义用户在什么时候访问系统以产生负载。这样,您就能将测试过程自动化。同样您还可以用Controller 来限定您的负载方案,在这个方案中所有的用户同时执行一个动作---如登陆到一个库存应用程序----来模拟峰值负载的情况。另外,您还能监测系统架构中各个组件的性能---- 包括服务器,数据库,网络设备等----来帮助客户决定系统的配置。

定位性能

LoadRunner内含集成的实时监测器,在负载测试过程的任何时候,您都可以观察到应用系统的运行性能。这些性能监测器为您实时显示交易性能数据(如响应时间)和其它系统组件包括application server,web server,网路设备和数据库等的实时性能。这样,您就可以在测试过程中从客户和服务器的双方面评估这些系统组件的运行性能,从而更快地发现问题。

利用LoadRunner的ContentCheck TM ,您可以判断负载下的应用程序功能正常与否。ContentCheck 在Virtual users 运行时,检测应用程序的网络数据包内容,从中确定是否有错误内容传送出去。它的实时浏览器帮助您从终端用户角度观察程序性能状况。

分析结果

一旦测试完毕后,LoadRunner收集汇总所有的测试数据,并提供高级的分析和报告工具,以便迅速查找到性能问题并追溯原由。使用LoadRunner的Web 交易细节监测器,您可以了解到将所有的图象、框架和文本下载到每一网页上所需的时间。例如,这个交易细节分析机制能够分析是否因为一个大尺寸的图形文件或是第三方的数据组件造成应用系统运行速度减慢。另外,Web 交易细节监测器分解用于客户端、网络和服务器上端到端的反应时间,便于确认问题,定位查找真正出错的组件。例如,您可以将网络延时进行分解,以判断DNS 解析时间,连接服务器或SSL 认证所花费的时间。通过使用LoadRunner的分析工具,您能很快地查找到出错的位置和原因并作出相应的调整。

 

虚拟用户

LoadRunner使用虚拟用户(Virtual users)来模拟实际用户对业务系统施加压力。虚拟用户在一个中央控制器(controller station)的监视下工作。

在做一个测试方案时,要做的第一件事就是创建虚拟用户执行脚本。LoadRunner提供了Virtual User Generator来录制或编辑虚拟用户脚本。

使用Vugen创建虚拟用户执行脚本

A.从菜单中选择运行Virtual User Generator:

B.创建一个单协议脚本,选择协议类型为"Tuxedo 7"

C.在弹出的窗口中输入Tuxedo客户机程序的可执行文件名(SimpApp.exe),并选择"Record into Action"为Action。

点击"OK"开始录制脚本,这时Vugen就会启动Simpapp.exe,如下图所示,输入WSNADDR,输入字符串(Tuxedo is powerful!)之后,点击TOUPPER,TUXEDO服务器完成请求后把输出字符串(TUXEDO IS POWERFUL!)写到"Output string"中,点击停止录制按钮。

D.编辑Vuser脚本。在C中做的所有操作都被录了下来,记录到一个脚本文件中,其内容如下,把它存为simpapp。

脚本内容如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#include "lrt.h"

#include "replay.vdf"

Actions()

{

lrt_tuxputenv("WSNADDR=//172.22.32.25:7110");

lr_think_time⑶;

tpresult_int = lrt_tpinitialize(LRT_END_OF_PARMS);

lrt_abort_on_error();

data_0 = lrt_tpalloc("STRING","",1);

lrt_strcpy(data_0,sbuf_1);

data_1 = lrt_tpalloc("STRING","",1);

tpresult_int = lrt_tpcall("TOUPPER",data_0,0,&data_1,&olen,0);

lrt_abort_on_error();

lrt_tpfree(data_0);

lrt_tpfree(data_1);

lrt_tpterm();

return 0;

}

代码中加粗的函数是LoadRunner对TUXEDO函数的二次包装。

E.点击工具栏中的"执行"按钮来执行我们刚才录制的脚本,确保执行无误。

使用控制器来调度虚拟用户

A.从菜单中选择运行Controller;

B.创建一个新的Scenario,选择刚才录制的脚本(simpapp);

点击"OK",弹出Scenario调度界面。在"Quantity"中输入100,表示使用100个虚拟用户。(虚拟用户与购买的LICENSE有关联)

C.点击"Edit Schedule"来编辑压力调度。

D.选择"Runtime settings"来作运行时设置。

在Pacing的设置中,"Number of Iterations"用于设置Vusers的Actions被执行的次数;"Start new iteration"用于设置调度器在什么时机迭代执行Vusers的Actions。

"Think Time"用于设置Vusers的反应和思考时间,以尽量做到和正常人一样来施压。"Ignore think time"表示忽略思考时间,这是理想状态,一般不使用。"As recorded"表示按照录制时的实际操作时间。"Multiply recorded think time by"表示Vusers的思考时间是实际录制时间的若干倍。

在"Miscellaneous"中设置一些杂项,如使用进程还是使用线程等。对于TUXEDO,好象只能选进程模式。

E.选择"Start scenario"来开始本次压力测试调度。

执行结果分析如下:

施压时间为5分41秒,Vusers数量为100,一共完成的Actions交易数量为5625笔,平均响应时间为5.561秒,TPS为17.8。 [1] 

测试组件

1.VuGen Load Generator虚拟用户生成器)用于捕获最终用户业务流程和创建自动性能测试脚本 (也称为虚拟用户脚本)。

2.Controller 控制器)用于组织、驱动、管理和监控负载测试。

3.Analysis 分析器)有助于您查看、分析和比较性能结果。

实例应用

编辑

随机函数

软件测试工具中如何巧用LoadRunner的随机函数。

LoadRunner有自带的随机函数,如果巧妙的加以采用,能解决一些看似很困难的实际问题。

一个项目的性能测试。与数据库直连,根据外部传入的SQL ID和SQL参数,从指定数据库中读取SQL模版,拼装成真实的SQL语句、执行,并将得到的结果放入缓存中。目的是减少数据库的压力。

该系统将支撑大量的SQL操作,性能自然成为备受关注的焦点之一。

由于它跟SQL语句相关,在真实环境下,同一时间可能执行着不同类型的SQL,即便是同一类型,其参数也各式各样。那么,怎样才能模拟出最符合实际情况的性能测试场景呢?

首先设计场景,即,在LoadRunner中按照比例随机取到某一类型的SQL,再随机传入参数给它,让最终的每条SQL都是随机生成,各不相同。

从场景中,可以看到,此处涉及双重随机。只采用loadruner的参数设置是无法实现的。此时需要想办法先按设定好的比例随机取到SQL,然后在每条SQL上随机取参数列表中的参数。

于是想到了loadrunner的随机函数。先实现随机取SQL ID,之后再在特定的SQL中随机取参数列表中的参数。

LoadRunner中,随机函数是rand(),它用来产生0到rand_max之间的随机整数。函数原型是

1

int rand (void);

然而调用rand之前,必须给随机数产生一个随机种子。这个种子由srand()函数产生。其原型是

1

2

3

int srand (seedTime);

class="sup--normal" data-sup="2" data-ctrmap=":2,">

[2]class="sup-anchor" name="ref_[2]_812367"

分析占用率

1. 平均事务响应时间

Average Transaction Response Time

  • 优秀:<2s

  • 良好:2-5s

  • 及格:6-10s

  • 不及格:>10s

2. 每秒点击率

Hits per Second

当增大系统的压力(或增加并发用户数)时,吞吐率和TPS的变化曲线呈大体一致,则系

loadrunner_第17张图片LoadRunner分析页面

统基本稳定。若压力增大时,吞吐率的曲线增加到一定程度后出现变化缓慢,甚至平坦,很可能是网络出现带宽瓶颈,同理若点击率/TPS曲线出现变化缓慢或者平坦,很可能是服务器响应时间增加,观察服务器资源使用情况,确定是否是服务器问题。

3. 请求响应时间

Time to Last Byte

4. 每秒系统处理事务数

Transaction per second

5. 吞吐量

Throughout

6. CPU利用率

Processor / %Processor Time

  • 好:70%

  • 坏:85%

  • 很差:90%+

7. 数据库操作消耗的CPU时间

Processor / %User Time 如果该值较大,可以考虑是否能通过友好算法等方法降低这个值。如果该服务器是数据库服务器, Processor\%User Time 值大的原因很可能是数据库的排序或是函数操作消耗了过多的CPU时间,此时可以考虑对数据库系统进行优化。

8. 核心态CPU平均利用率

Processor /%Privileged Time 如果该参数值和"Physical Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统

9. 处理队列中的线程数

Processor / Processor Queue Length 如果该值保持不变(>=2)个并且%Processor Time 超过90%,那么可能存在处理器瓶颈。如果发现超过2,而处理器的利用率却一直很低,那么或许更应该去解决处理器阻塞问题,这里处理器一般不是瓶颈。

10. 文件系统缓存

Memory / Cache Bytes 50%的可用物理内存

11. 剩余的可用内存

Memory / Avaiable Mbytes 至少要有10% 的物理内存值

12. 每秒下载页数

Memory / pages/sec

  • 好:无页交换

  • 坏:CPU每秒10个页交换

  • 很差:更多的页交换

13. 页面读取操作速率

Memory / page read/sec 如果页面读取操作速率很低,同时 % Disk Time 和 Avg.Disk Queue Length的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。

14. 物理磁盘利用率

Physical Disk / %Disk Time

  • 好:<30%

  • 坏:<40%

  • 很差:<50%+

15. 物理磁盘平均磁盘I/O队列长度

Physical Disk / Avg.Disk Queue Length 该值应不超过磁盘数的1.5~2 倍。要提高性能,可增加磁盘

16. 网络吞吐量

Network Interface / Bytes Total/sec 判断网络连接速度是否是瓶颈,可以用该计数器的值和当前网络的带宽,结果应该小于50%

17. 数据高速缓存区命中率 命中率应大于0.90最好

18. 共享区库缓存区命中率 命中率应大于0.99

19. 监控 SGA 中字典缓冲区的命中率 命中率应大于0.85

20. 检测回滚段的争用 小于1%

21. 监控 SGA 中重做日志缓存区的命中率

应该小于1%

22. 监控内存和硬盘的排序比率 最好使它小于 10%安装 [3]  。

版本要求

LoadRunner 分为Windows 版本和Unix 版本。如果所有测试环境基于Windows平台,那么只要安装Windows 版本即可。

LoadRunner的Unix版本仅提供Load Generator组件的安装(即LoadRunner中的负载生成器)。也就是说,这个负载生成器可以在Unix环境下安装和运行,并提供给Controller进行远程管理。但是,脚本的录制和场景的设计必须在Windows平台完成。

系统要求

运行LoadRunner,内存最好在128M 以上,LoadRunner7.8 的最低要求。内存最好在512M 以上,安装LoadRunner 的磁盘空间至少剩余500M。操作系统最好为Windows 2000。

参数对照

编辑

LR函数:

lr_start_transaction 为性能分析标记事务的开始 [3] 

lr_end_transaction 为性能分析标记事务的结束

lr_rendezvous 在 Vuser 脚本中设置集合点

lr_think_time 暂停 Vuser 脚本中命令之间的执行

lr_end_sub_transaction 标记子事务的结束以便进行性能分析

lr_end_transaction 标记 LoadRunner 事务的结束

Lr_end_transaction("trans1",Lr_auto);

lr_end_transaction_instance 标记事务实例的结束以便进行性能分析

lr_fail_trans_with_error 将打开事务的状态设置为 LR_FAIL 并发送错误消息

lr_get_trans_instance_duration 获取事务实例的持续时间(由它的句柄指定)

lr_get_trans_instance_wasted_time 获取事务实例浪费的时间(由它的句柄指定)

lr_get_transaction_duration 获取事务的持续时间(按事务的名称)

lr_get_transaction_think_time 获取事务的思考时间(按事务的名称)

lr_get_transaction_wasted_time 获取事务浪费的时间(按事务的名称)

lr_resume_transaction 继续收集事务数据以便进行性能分析

lr_resume_transaction_instance 继续收集事务实例数据以便进行性能分析

lr_set_transaction_instance_status 设置事务实例的状态

lr_set_transaction_status 设置打开事务的状态

lr_set_transaction_status_by_name 设置事务的状态

lr_start_sub_transaction 标记子事务的开始

lr_start_transaction 标记事务的开始

Lr_start_transaction("trans1");

lr_start_transaction_instance 启动嵌套事务(由它的父事务的句柄指定)

lr_stop_transaction 停止事务数据的收集

lr_stop_transaction_instance 停止事务(由它的句柄指定)数据的收集

lr_wasted_time 消除所有打开事务浪费的时间

lr_get_attrib_double 检索脚本命令行中使用的 double 类型变量

lr_get_attrib_long 检索脚本命令行中使用的 long 类型变量

lr_get_attrib_string 检索脚本命令行中使用的字符串

lr_user_data_point 记录用户定义的数据示例

脚本

lr_whoami 将有关 Vuser 脚本的信息返回给 Vuser 脚本 [1] 

lr_get_host_name 返回执行 Vuser 脚本的主机名

lr_get_master_host_name 返回运行 LoadRunner Controller 的计算机名

lr_eval_string 用参数的当前值替换参数

lr_save_string 将以 NULL 结尾的字符串保存到参数中

lr_save_var 将变长字符串保存到参数中

lr_save_datetime 将当前日期和时间保存到参数中

lr _advance_param 前进到下一个可用参数

lr _decrypt 解密已编码的字符串

lr_eval_string_ext 检索指向包含参数数据的缓冲区的指针

lr_eval_string_ext_free 释放由 lr_eval_string_ext 分配的指针

lr_save_searched_string 在缓冲区中搜索字符串实例,并相对于该字符串实例,将该缓冲区的一部分保存到参数中

lr_debug_message 将调试信息发送到输出窗口

lr_error_message 将错误消息发送到输出窗口

lr_get_debug_message 检索当前消息类

lr_log_message 将消息发送到日志文件

lr_output_message 将消息发送到输出窗口

lr_set_debug_message 设置调试消息类

lr_vuser_status_message 生成带格式的输出,并将其写到 ControllerVuser 状态区域

lr_message 将消息发送到 Vuser 日志和输出窗口

lr_load_dll 加载外部 DLL

lr_peek_events 指明可以暂停 Vuser 脚本执行的位置

lr_think_time 暂停脚本的执行,以模拟思考时间(实际用户在操作之间暂停以进行思考的时间)

lr_continue_on_error 指定处理错误的方法

lr_continue_on_error (0);lr_continue_on_error ⑴;

lr_rendezvous 在 Vuser 脚本中设置集合点

TE_wait_cursor 等待光标出现在终端窗口的指定位置

TE_wait_silent 等待客户端应用程序在指定秒数内处于静默状态

TE_wait_sync 等待系统从 X-SYSTEM 或输入禁止模式返回

TE_wait_text 等待字符串出现在指定位置

TE_wait_sync_transaction 记录系统在最近的 X SYSTEM 模式下保持的时间

WEB函数列表:

web_custom_request 允许您使用 HTTP 支持的任何方法来创建自定义 HTTP 请求

web_image 在定义的图像上模拟鼠标单击

web_link 在定义的文本链接上模拟鼠标单击

web_submit_data 执行“无条件”或“无上下文”的表单

web_submit_form 模拟表单的提交

web_url 加载由“URL”属性指定的 URL

web_set_certificate 使 Vuser 使用在 Internet Explorer 注册表中列出的特定证书

web_set_certificate_ex 指定证书和密钥文件的位置和格式信息

web_set_user 指定 Web 服务器的登录字符串和密码,用于 Web 服务器上已验证用户身份的区域

web_cache_cleanup 清除缓存模拟程序的内容

web_find 在 HTML 页内搜索指定的文本字符串

web_global_verification 在所有后面的 HTTP 请求中搜索文本字符串

web_image_check 验证指定的图像是否存在于 HTML页内

web_reg_find 在后面的 HTTP 请求中注册对 HTML源或原始缓冲区中文本字符串的搜索

web_disable_keep_alive 禁用 Keep-Alive HTTP 连接

web_enable_keep_alive 启用 Keep-Alive HTTP 连接

web_set_connections_limit 设置 Vuser 在运行脚本时可以同时打开连接的最大数目

web_concurrent_end 标记并发组的结束

web_concurrent_start 标记并发组的开始

web_add_cookie 添加新的 Cookie 或修改现有的 Cookie

web_cleanup_cookies 删除当前由 Vuser 存储的所有 Cookie

web_remove_cookie 删除指定的 Cookie

web_create_html_param 将 HTML 页上的动态信息保存到参数中。(LR 6.5 及更低版本)

web_create_html_param_ex 基于包含在 HTML 页内的动态信息创建参数(使用嵌入边界)(LR 6.5 及更低版本)。

web_reg_save_param 基于包含在 HTML 页内的动态信息创建参数(不使用嵌入边界)

web_set_max_html_param_len 设置已检索的动态 HTML 信息的最大长度

web_add_filter 设置在下载时包括或排除 URL 的条件

web_add_auto_filter 设置在下载时包括或排除 URL 的条件

web_remove_auto_filter 禁用对下载内容的筛选

web_add_auto_header 向所有后面的 HTTP 请求中添加自定义标头

web_add_header 向下一个 HTTP 请求中添加自定义标头

web_cleanup_auto_headers 停止向后面的 HTTP 请求中添加自定义标头

web_remove_auto_header 停止向后面的 HTTP 请求中添加特定的标头

web_revert_auto_header 停止向后面的 HTTP 请求中添加特定的标头,但是生成隐性标头

web_save_header 将请求和响应标头保存到变量中

web_set_proxy 指定将所有后面的 HTTP 请求定向到指定的代理服务器

web_set_proxy_bypass 指定 Vuser 直接访问(即不通过指定的代理服务器访问)的服务器列表

web_set_proxy_bypass_local 指定 Vuser 对于本地 (Intranet) 地址是否应该避开代理服务器

web_set_secure_proxy 指定将所有后面的 HTTP 请求定向到服务器

web_set_max_retries 设置操作步骤的最大重试次数

web_set_timeout 指定 Vuser 等待执行指定任务的最长时间

web_convert_param 将 HTML 参数转换成 URL 或纯文本

web_get_int_property 返回有关上一个 HTTP 请求的特定信息

web_report_data_point 指定数据点并将其添加到测试结果中

web_set_option 在非 HTML 资源的编码、重定向和下载区域中设置 Web 选项

web_set_sockets_option 设置套接字的选项

你可能感兴趣的:(基础知识,新技术)