LoadRunner FAQ2

LR中参数的定义和赋值

  1.参数的赋值和取值

  lr_save_string("hello world","param");

  lr_eval_string("{param}");

  2.变量到参数


int x;

char *y;

y="hello";

x=10;

lr_save_int(x,"param");

lr_save_string(y,"param1");

lr_eval_string("{param}");

lr_eval_string("{param1}");

  3.变量读参数


char x[100];

x="{param}";

lr_save_string("hello world","param");

lr_eval_string(x);

  LR中文件下载模拟


Action()

{

//定义一个整型变量保存获得文件的大小

int flen;

//保存文件句柄

long filedes;

//保存文件路径及文件名

char file[256]="/0";

//定义一个随机数

char * strNumber;

//Returns the string argument after evaluating embedded parameters.

strNumber=lr_eval_string("{RandomNum}");

//将路径保存到file变量中

strcat(file,"D://Excel//");

//将获得的随机数拼接在file变量之后

strcat(file,strNumber);

//将下载的文件后缀名.rar拼接在file变量之后

strcat(file,".rar");

//到此为止一个LoadRunner已经获得了一个完整的文件名

//设置参数的最大长度,注意该值必须大于文件的大小

web_set_max_html_param_len("20000");

//使用关联函数获取下载文件的内容,在这里不定义左右边界,获得服务器响应的所有内容

web_reg_save_param("fcontent",

"LB=",

"RB=",

"SEARCH=BODY",

LAST);

lr_start_transaction("下载帮助文件");

//发送下载帮助文件的请求

web_url("DownLoadServlet",

"URL=https://testserver3/servlet/DownLoadServlet?filename=help",

"Resource=1",

"RecContentType=application/x-msdownload",

"Referer=",

"Snapshot=t41.inf",

LAST);

//获取响应中的文件长度

flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);

if(flen > 0)

{

//以写方式打开文件

if((filedes = fopen(file, "wb")) == NULL)

{

lr_output_message("打开文件失败!");

return -1;

}

//写入文件内容

fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes);

//关闭文件

fclose(filedes);

}

lr_end_transaction("下载帮助文件",LR_AUTO);

return 0;

}

  如何进行数据的关联

  VuGen提供二种方式帮助您找出需要做关联(correlation)的值:

  1. 自动关联

  2. 手动关联

  自动关联

  VuGen内建自动关联引擎(auto-correlationengine),可以自动找出需要关联的值,并且自动使用关联函数建立关联。有两种方式:

  RuleCorrelation

  可以在【RecordingOptions】>【InternetProtocol】>【Correlation】中启用关联规则,则当录制这些应用系统的脚本时,VuGen会在脚本中自动建立关联。

字体:  小  中  大  | 上一篇 下一篇 | 打印  | 我要投稿

  您也可以在【RecordingOptions】>【InternetProtocol】>【Correlation】检视每个关联规则的定义。

  请依照以下步骤使用RuleCorrelation:

  1. 启用auto-correlation

  1) 点选VuGen的【Tools】>【RecordingOptions】,开启【RecordingOptions】对话窗口,选取【InternetProtocol】>【Correlation】,勾选【Enablecorrelation during recording】,以启用自动关联。

  2) 假如录制的应用系统属于内建关联规则的系统,如AribaBuyer、BlueMartini、BroadVision、InterStage、mySAP、NetDynamics、Oracle、PeopleSoft、Siebel、SilverJRunner等,请勾选相对应的应用系统。

  3) 或者也可以针对录制的应用系统加入新的关联规则,此即为使用者自订的关联规则。

  2. 录制脚本

  开始录制脚本,在录制过程中,当VuGen侦测到符合关联规则的数据时,会依照设定建立关联,您会在脚本中看到类似以下的脚本,此为BroadVision应用系统建立关联的例子,在脚本批注部分可以看到关联前的数据为何。

  3. 执行脚本验证关联是OK的。

  CorrelationStudio

  当录制的应用系统不属于VuGen预设支持的应用系统时,RuleCorrelation可能既无法发挥作用,这时可以利用CorrelationStudio来做关联。

  CorrelationStudio会尝试找出录制时与执行时,服务器响应内容的差异部分,藉以找出需要关联的数据,并建立关联。

  使用CorrelationStudio的步骤如下:

  1. 录制脚本并执行

  2. 执行完毕后,VuGen会跳出下面的【ScanAction for Correlation】窗口,询问您是否要扫描脚本并建立关联,按下【Yes】按钮。

  3. 扫描完后,可以在脚本下方的【CorrelationResults】中看到扫描的结果。

  4. 检查一下扫瞄的结果后,选择要做关联的数据,然后按下【Correlate】按钮,一笔一笔做,或是按下【CorrelateAll】让VuGen一次就对所有的数据建立关联。

  注意:由于CorrelationStudio会找出所有有变动的数据,但是并不是所有的数据都需要做关联,所以不建议您直接用【CorrelateAll】。

  5. 一般来说,您必须一直重复步骤1~4直到所有需要做关联的数据都找出来为止。因为有时前面的关联还没做好之前,将无法执行到后面需要做关联的部份。

  手动关联

  手动关联的执行过程大致如下:

  1. 使用相同的业务流程与数据,录制二份脚本

  2. 使用Diff工具比较一下生成的Action.c,找出需要关联的数据

  3. 使用web_reg_save_param函数手动建立关联

  4. 将脚本中有用到关联的数据,以参数取代

  注意动态数据不能放在vuser_init.c文件中。不是所有的差异处都要关联的,WEB_URL()等方法的参数列表的先后顺序是没关系的,思考时间当然也可以不同。

  LR的检查点设置

  常用检查点函数如下:

  1)web_find()函数用于从 HTML 页中搜索指定的文本字符串;

  2)web_reg_find()函数注册一个请求,以在下一个操作函数(如 web_url)检索到的HTML网页上搜索指定的文本字符串;

  3)web_image_check()函数用于从HTML页面中查找指定的图片;

  4)web_global_verfication()属于注册函数,注册一个在web页面中搜索文本字符串的请求,与web_reg_find只在下一个Action函数中执行搜索不同的是它在之后所有的Action类函数中执行搜索指定的文本字符串;

  下面分别介绍以上函数的用法:

  1、web_find()函数参数举例:

  web_find("web_find","RighOf=a","LeftOf=b","What=name",LAST);

  参数解释:"web_find"定义该查找函数的名称;“LeftOf”和“RighOf=”用来定义查找字符的左右边界;“What=”定义查找内容;

  例如上述参数举例中的意思就是在页面中查找左边界为b,右边界为a,内容为name的信息;

  使用该函数注意事项:该函数是在查找页面中的内容,所以要放在要查找的内容的后面;该函数只能在基于HTML模式录制的脚本中进行查找

  注意事项:使用该函数时,要在Vuser->Run-Tme Settings中更改下设置

  勾选Enable Image and text check

  系统默认是不勾选该选项的。

  2、web_reg_find()函数参数举例:

  web_reg_find("Search=Body","SaveCount=ddd","Test=aaa",LAST);

  参数解释: Search用来定义查找范围,SaveCount定义查找计数变量名称,该参数可以记录在缓存中查找内容出现的次数,可以使用该值,来判断要查找的内容是否被找到;

  例如上述参数举例中的意思就是Body中查找内容为aaa的信息,并将出现次数记录在变量ddd中;

  【代码一:web_reg_find("Text=PaymentDetails",LAST);

  代码思路:1.“Payment Details” 为你要检查的文本;

  2. 脚本执行到此处,若在页面上找到了这几个字符串,那脚本继续执行下去;若没有找到,脚本将在此报错并且结束。

  3、web_image_check()函数参数说明:

  web_image_check("web_image_check","Alt=","Src=",LAST);

  参数解释:“Alt”和“Src”的值直接取该图片在网页源代码中相应参数的值;

  注意事项:使用该函数时,要在Vuser->Run-Tme Settings中勾选Enable Image and text check,具体操作请看web_find()中的注意事项。

  插入函数的方法

  1、 手工写入,在需要插入函数的位置手工写入该函数;

  2、 光标停留在要插入函数的位置,在INSERT菜单中,选择new step,在列表中选择或查找要插入的函数,根据提示填写必要的参数;

  3、 在tree view模式下,在树状菜单中选中要插入函数的位置,右键,选择insert after或insert before,根据提示填写必要的参数;

  总结:

  1、 这两个函数函数类型不同,WEB_FIND是普通函数,WEB_REG_FIND是注册函数;

  2、 WEB_FIND使用时必须开启内容检查选项,而WEB_REG_FIND则不没有此限制;

  3、 WEB_FIND只能用在基于HTML模式录制的脚本中,而WEB_REG_FIND没有此限制;

  4、 WEB_FIND是在返回的页面中进行内容查找,WEB_REG_FIND是在缓存中进行查找;

  5、 WEB_FIND在执行效率上不如WEB_REG_FIND;

  使用web_concurrent_start报错

  录制方式选的是HTML-based script,改为url-based script就可以了。该函数不支持HTML-based script方式。

  LR中的脚本变量声明报错

  Loadrunner使用的是C语言的语法。脚本中变量必须在开头声明。比如说,在Vuser_init、Action、Vuser_end定义变量,必须现在最顶端生命,后面才能使用。如果不这样,编译器是通不过的。

时间: 2024-10-14 23:43:46

LoadRunner FAQ2的相关文章

LoadRunner函数大全之中文解释

LoadRunner函数大全之中文解释

app性能测试【通过loadrunner录制】

随着智能手机近年来的快速增长,从游戏娱乐到移动办公的各式各样的手机APP软件渗透到我们的生活中,对于大型的手机APP测试不仅要关注它的功能性.易用性还要关注它的性能,最近发现LoadRunner12可以对手机APP做性能测试,但由于LoadRunner12还没有破解版最多只有50个并发用户,所以我用LoadRunner12录制手机APP的脚本后放到LoadRunner8.0里进行压测,LoadRunner8.0可并发10000个用户. 1.下载CCProxy代理服务器,安装运行该软件用来检测本机

loadrunner 12.02 录制手机app脚本

1.用手机连接电脑的360wifi,配置手机wifi连接的HTTP代理地址和端口,代理地址(服务器)为电脑的ip地址,端口可以写1-65535,建议使用不常用的端口,如:9898. 2.打开loadrunner脚本编辑器,选择录制协议为HTTP协议,同时设置录制模式为代理,端口填写手机上设置的端口,如图1.图是采用loadrunner12进行设置,loadrunner11同样可以,在录制选项卡里设置监控端口. 3.点击录制,然后在手机上打开需要录制的应用程序,操作需要录制的业务,当需要结束时,点

loadrunner使用wplus_init_wsock录制脚本

wplus_init_wsock录制脚本 需求:今天需要做一个证信系统流程性能测试,但版本只能使用IE9以上(IE8不支持)或者谷歌进行录制脚本:本机安装的就是loadrunner11.0并且补丁到4,. 尝试是应用IE8进行录制脚本,但总是失败.后面使用火狐浏览录制脚本,也失败,用谷歌录制脚本也是失败.来回折腾块一下午,后面记得<云层>大哥说过可以使用<wplus_init_wsock录制脚本>做代理来录制脚本: 具体操作: 设置谷歌代理(具体步骤设置--高级设置--更改代理服务

LoadRunner 11安装及测试环境搭建

所需软件:[性能测试工具LR11.00].loadrunner-11.rar.Loadrunner11.00破解相关.XAMPP_1_7_4_Beta4_Jisuxz.com.rar.phpwind_UTF8_8.5.zip 1.安装LR11:解压后双击 setup.exe,一步一步往下安装. 破解LR11:将lm70.dll.mlr5lprg.dll 覆盖到安装目录的bin文件夹下 D:\LRINSTALLED\bin,然后执行lr_Del_license.exe.最后打开LoadRunner

LoadRunner学习笔记--未经排版

LoadRunner学习笔记 并发用户数量: 与服务器进行交互的在线用户数量 请求响应时间 从客户端发送请求到得到整个响应的时间 一般包括网络响应时间+server的响应时间 事务相应时间 完成这个事务所用的时间 是性能测试中重点关注的指标 吞吐率 单位时间在网络上传输的数据量(吞吐量:网络上传输的数据总量) 指从server返回客户端的 是衡量网络性能的主要指标 TPS 每秒钟系统能够处理事务的数量 点击率 每秒发送的HTTP请求的数量 点击率越大对server的压力也就越大 资源利用率 对不

loadrunner 如何做关联

在页面中为了防止CRSF攻击,每次访问登录页面时,在浏览器器端生成一个token. 在提交时检验这个token是否有效,提交后token自动失效.   如果使用loadrunner来测试此系统话需要做一个关联,把这个token作为一个参数进行提交. 做关联有一下几种方法:   1.通过回放的HTTP VIEW视图.   选择变化的值选择创建关联. 切换到脚本模式. 使用关联 这样关联就可以了.   2.如果用户对脚本比较熟悉的话. 直接写脚本就好了.

loadrunner自学以及问题解答1

QQ群:2423597857 ============================== 1.LR 脚本为空的解决方法: 去掉ie设置中的第三方支持取消掉 在系统属性-高级-性能-数据执行保护中,添加loadrunner安装目录中的vugen.exe文件. 有可能是由于录制的URL地址采用的是localhost的问题,改成分配的IP地址或127.0.0.1试试. 2.插入文本检查点步骤时,使用web_reg_find,通常TextPfx和TextSfx中会包含双引号,需要进行转义(用斜杠),例

loadrunner自学以及问题解答2

QQ群:2423597857 ============================== 46.LR启动controller报错"transaction monitor not available" 1.多是OS系统问题,修复试试或升级 2.或修复LR试试 47.Loadrunnber 报错误:Error -- memory violation : Exception ACCESS_VIOLATION received.的一种情况 Posted on 2011-01-05 12:12