LoadRunner VuGen脚本增强之逻辑判断增强与事务
2016-12-03 18:24
295 查看
LoadRunner学习笔记5-LoadRunner VuGen脚本增强之逻辑判断增强与事务
这篇博客主要说一下用于LoadRunner脚本逻辑判断增强常用的几个函数和事务的封装。一、逻辑判断增强
1)先介绍以下几个函数:
1.atoi函数
函数用法:
int atoi(要转换成整型的字符);//把指定的字符转换成整型
2.lr_eval_string函数
函数用法:
lr_eval_string("{当前想要获取的参数名}");//获取指定的当前参数的值
3.strcmp函数
函数用法:
strcmp(字符串1,字符串2);//比较字符串1和字符串2的大小
4.strcpy函数
函数用法:
strcpy(目标字符串,原字符串);//将原字符串拼接到目标字符串后
2)增强脚本思路与代码
针对之前录制的登录脚本,脚本编写的思路是:登陆成功后检查用户名并记录次数,使用lr_eval_string函数获取用户名出现的次数,通过atoi函数进行转换之后与0比较,只要不等于0,就认为成功。关键代码如下:
//文本检查点,检查用户名 web_reg_find("Text=besttest","SaveCount=besttest_count",LAST); //提交登录请求 web_submit_data("login.pl", "Action=http://127.0.0.1:1080/WebTours/login.pl", "Method=POST", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t5.inf", "Mode=HTML", ITEMDATA, "Name=userSession", "Value={userSession}", ENDITEM, "Name=username", "Value=besttest", ENDITEM, "Name=password", "Value=besttest", ENDITEM, "Name=JSFormSubmit", "Value=on", ENDITEM, "Name=login.x", "Value=33", ENDITEM, "Name=login.y", "Value=9", ENDITEM, LAST); //增加判断,如果检查到用户名出现的次数大于0,则登录成功,否则失败 if(atoi(lr_eval_string("{besttest_count}"))!=0) lr_output_message("登录成功了"); else lr_output_message("登录失败了");
二、事务实战
事务可以理解为一个或多个操作的集合。事物的插入可以在录制过程中进行,也可以在录制完成后的脚本中自行插入。不是所有操作都需要封装成事务,只对关心的操作进行事务封装即可。
插入事务有两种方法:
1)手工写代码。提示:不要忘了事务有开始就需要有结束配对出现,代码编写方法如下:
lr_start_transaction(“事务名称”); lr_end_transaction("事务名称",LR_AUTO);
2)利用插入功能,如下图所示。注意Start Transaction 和 End Transaction中事务的名称要一致。
提示:为了提高事务统计时的准确性,一般情况下,事务要尽量精简,里面不要包含检查点、关联、逻辑判断、思考时间等。
1.自动事务
自动事务函数的结果交由LoadRunner来判断,关键代码如下所示:
//增加了事务、开头 lr_start_transaction("login"); //提交登录请求 web_submit_data("login.pl", "Action=http://127.0.0.1:1080/WebTours/login.pl", "Method=POST", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t5.inf", "Mode=HTML", ITEMDATA, "Name=userSession", "Value={userSession}", ENDITEM, "Name=username", "Value=besttest", ENDITEM, "Name=password", "Value=besttest", ENDITEM, "Name=JSFormSubmit", "Value=on", ENDITEM, "Name=login.x", "Value=33", ENDITEM, "Name=login.y", "Value=9", ENDITEM, LAST); lr_end_transaction("login",LR_AUTO);//事务结尾,要与开头对应
2.手动事务
和手动事务相反,手动事务的结果可以自己指定。关键代码如下所示:
//文本检查点,检查用户名 web_reg_find("Text=besttest","SaveCount=besttest_count",LAST); //增加了事务 lr_start_transaction("login"); //提交登录请求 web_submit_data("login.pl", "Action=http://127.0.0.1:1080/WebTours/login.pl", "Method=POST", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t5.inf", "Mode=HTML", ITEMDATA, "Name=userSession", "Value={userSession}", ENDITEM, "Name=username", "Value=besttest", ENDITEM, "Name=password", "Value=besttest", ENDITEM, "Name=JSFormSubmit", "Value=on", ENDITEM, "Name=login.x", "Value=33", ENDITEM, "Name=login.y", "Value=9", ENDITEM, LAST); //增加判断,如果检查到用户名出现的次数大于0,则事务结果成功,否则失败 if(atoi(lr_eval_string("{besttest_count}"))!=0) lr_end_transaction("login",LR_PASS); else lr_end_transaction("login",LR_FAIL);
相关文章推荐
- LoadRunner VuGen 脚本增强之检查点
- 再谈业务逻辑架构模式(事务脚本,表模块,活动记录,领域模型)
- LoadRunner脚本编写之三(事务函数)
- shell 脚本if 逻辑判断判断
- Shell脚本中判断输入参数个数的方法 ,包括默认的$0,$1,-d ,-eq -n -z 等逻辑判断选项
- centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课
- 测试回顾版-Loadrunner脚本编程(1)-VuGen脚本文件的开发过程
- LoadRunner脚本优化之服务器返回内容正确性判断
- LoadRunner教程10:LR测试脚本的增强方法
- 领域逻辑模式(事务脚本)
- LoadRunner脚本编写之三(事务函数)
- LoadRunner脚本编写之三(事务函数)
- vs性能测试之旅(3) — 脚本增强之事务
- shell脚本判断闰年的逻辑表达式
- LoadRunner脚本增强
- 业务逻辑的方法(事务脚本、Evans DDD、基于事件驱动的设计)
- linux sh 脚本有关于文件判断操作符,与if配合实现逻辑控制
- 性能loadrunner--loadrunner录制的一个正常登录事务的脚本
- LoadRunner脚本创建、录制和添加事务
- LoadRunner脚本增强之关联