LR工具使用
Loadrunner工具使用
lr的作用:
Lr是一个性能测试工具,主要就是用来通过这个工具来对系统前后台进行压力测试,然后根据测试的结果来综合分析系统存在的性能问题。
一般系统综合来说的性能测试大致流程:
Lr的安装:
下载lr11或者lr12安装包,然后双击下载安装包按照提示来进行安装。
注意:lr11支持的环境是Win7以下,IE浏览器版本是IE8及以下;lr12支持的环境是win8以下,IE11以下;使用时要设置ie的第三方浏览扩展处的勾去掉。
Lr的使用:
具体的使用参考《LoadRunner11操作手册整理》。
Lr函数及使用:
插入函数的方法:
手工写入,在需要插入函数的位置手工写入该函数;
光标停留在要插入函数的位置,在INSERT菜单中,选择new step,在列表中选择或查找要插入的函数,根据提示填写必要的参数;
在tree view模式下,在树状菜单中选中要插入函数的位置,右键,选择insert after或insert before,根据提示填写必要的参数。
检查点:
文本检查点:
一、在页面上查找相应内容:
web_find("web_find", //定义该查找函数的名称
"RightOf=a", //定义查找字符的右边界
"LeftOf=b", //定义查找字符的左边界
"What=name", //定义查找内容
LAST);
注意:
该函数只能在基于html录制模式脚本中进行查找;
只能在页面已经出来以后查找页面上的文字内容;
必须启用内容检查选项;
Vb和java中不支持此函数;
缺点:
效率低;
不反回查找结果情况,如果在执行该函数之后进行进一步的操作,没有返回值可以依据。
二、在缓存中查找相应内容:
web_reg_find("Search=Body", //定义查找范围
"SaveCount=ddd", //定义查找计数变量名称
"Text=aaaa", //定义查找内容
LAST);
在该函数的参数中有个“SaveCount”,该参数可以记录在缓存中查找内容出现的次数,我们可以使用该值,来判断要查找的内容是否被找到。
// Check result
if (atoi(lr_eval_string("{SaveCount}")) > 0){ //判断如果Welcome字符串出现次数大于0
lr_output_message("Log on successful."); }//在日志中输出Log on successful
图片检查点:
语法:
int web_image_check(const char*CheckName,,<"Alt=alt"|| "Src=src">, LAST );
参数:
2、List of Attributes
支持的属性有:Frame(在多Frame的情况下,定义要查找Frame的范围)。
支持的选项有:
Expect:检查通过的条件,默认为Found
Matchcase:是否区分大小写,默认为no
Repeat:找到第一个符合条件字符串后,是否还继续搜索,默认为yes
Report:什么情况下(success、failure、always)显示检查结果,默认always
Onfailure:失败(expect的值决定)的情况下,是否继续,默认为Continue on Error。
3、Alt:图片的ALT标记。
4、Src:图片的SRC标记。
事务函数:
lr_start_transaction(“名称”);//事务开始
lr_end_transaction(“名称”,LR_AUTO);//事务结束
注意:
1、开始与结束函数必须成对出现;
2、事务的名称必须一样。
取参数的值:
主要作用就是返回脚本中的一个参数当前的值,返回值都是char类型数据。
语法:
lr_eval_string("{参数名}")
与之相对应的就是赋值:
lr_save_string("值","参数名")
输出函数:
输出一条信息到日志文件、输出窗口或者其他的测试报告里面。
语法:
lr_output_message(“名字”,“值”)
可以配合取参数函数一起使用。
关联函数:
脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态值,从而向服务器发出正确的请求,这种动态获得服务器响应内容的方法被称作关联。也是把脚本中某些写死的数据,转变成动态的数据。
语法:
web_reg_save_param(“const ”, , LAST);
参数说明:
ParamName: 存放得到的动态内容的参数名称
list of Attributes: 其它属性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。属性值不分大小写
Notfound: 当在返回信息中找不到要找的内容时应该怎么处理
Notfound=error: 当在返回信息中找不到要找的内容时,发出一个错误讯息。这是缺省值。
Notfound=warning: 当在返回信息中找不到要找的内容时,只发出警告,脚本也会继续执行下去不会中断。
LB( Left Boundary ) : 返回信息的左边界字串。该属性必须有,并且区分大小写。
RB( Right Boundary ): 返回信息的右边界字串。该属性必须有,并且区分大小写。
RelFrameID: 相对于URL而言,欲查找的网页的Frame。此属性质可以是All或是数字,该属性可有可无。
Search : 返回信息的查找范围。可以是Headers,Body,Noresource,All(缺省)。该属性质可有可无。
ORD : 说明第几次出现的左边界子串的匹配项才是需要的内容。该属性可有可无,缺省值是1。如为All,则将所有找到的内容储存起来。
SaveOffset : 当找到匹配项后,从第几个字元开始存储到参数中。该属性不能为负数,缺省值为0。
SaveLen :当找到匹配项后,偏移量之后的几个字元存储到参数中。缺省值是-1,表示一直到结尾的整个字串都存入参数。
技巧:
在确定关联的内容时可以把同一个流程连续录制两次之后使用文本编辑器比较两个文本的不同之处,然后再通过所看的不同之处进行比较确定关联部分。
集合点函数:
语法:
lr_rendzvous(“集合点”);
设置之后虚拟用户会在集合点处集合(在Controller里面可以设置集合点一些使用).
参数化:
通过使用参数化的方式让脚本迭代时有不同数据在系统上运行。
参数化输出:
lr_message("参数值=%s",lr_eval_string("{参数名}"));
设置数据来源:
1、编辑数据:直接在设置里面创建表格然后在表格里面添加数据;
2、导入数据文件:直接添加txt数据文件应用到数据源;
3、从数据库里面直接导入;
4、可以通过选择列数量和列名来选择使用的数据。
数据关联:
添加多列数据进行关联。
数据分配与更新方式:
下一行选择:
1、顺序;2、随机;3、唯一(为每个虚拟用户分配一个唯一的值)。
更新的值:
1、每次迭代(每次都取同一个值然后迭代一遍再换新的值);2、每次出现(两次取值不能相同);3、只取一次(每条数据只能使用一次,如果跑完数据脚本继续跑的话会报错)。
注意:
1、在编辑数据表内容时参数内容要最后一行一定要是crlf;
2、unique:从第一行或者从选择的firstdata开始。