loadrunner模拟账户登陆接口的性能测试
·
账户项目的接口功能测试通过后想要了解下服务的瓶颈在哪里,以评估是否需要加节点,加几个节点,整体来看,耗时的任务在登陆,包含token的验证,密码验证,算法生成新的token等服务,所以登陆接口时整个系统的瓶颈,之前用jemeter测试过,总觉得不是很放心,再用loadrunner测试一遍可以有一个对比,取平均值,作为最终输出的测试报告数据
我测试的是单接口服务,不是页面,没办法录制脚本,需要手动敲代码
Action()
{
double totaltime = 0;
double wasttime = 0;
lr_output_message("当前为第%s次迭代",lr_eval_string("{NewParam}"));
web_reg_save_param("code",
"LB=\"code\":",
"RB=,\"data\"",
LAST);//取code
lr_rendezvous("集合点");
lr_start_transaction("登陆");
web_add_header("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
web_add_header("platform","android");
web_add_header("mac","BC14EFBB8F38");
web_add_header("sn","PT01M00018170034");
web_add_header("model","PAIPMSVT01");
web_add_header("devid","8a97b476894b904ddd7ea0e20a02aae7");
web_add_header("devtype","3000");
web_add_header("unchecksign","true");
web_add_header("sysver","true");
web_submit_data("login",
"Action=https://api.puppysmart.com/passport/user/v2/login/password",
"Method=POST",
"Resource=0",
"Referer=",
ITEMDATA,
"Name=mobile","Value=13552688369",ENDITEM,
"Name=password","Value=qqqq1111",ENDITEM,
LAST);
totaltime=lr_get_transaction_duration("登陆");
wasttime=lr_get_transaction_wasted_time("登陆");
lr_output_message("总共花费了:%f",totaltime);//事务运行至此总共耗费时间
lr_output_message("程序浪费了:%f",wasttime);//事务运行至此loadrunner自身消耗时间
lr_output_message("响应时间为:%f",totaltime-wasttime);//响应时间=总耗费时间-自身消耗时间
lr_end_transaction("登陆",LR_AUTO);
if(atoi(lr_eval_string("{code}"))==10000)
lr_output_message("登陆成功"),
lr_output_message("code:%s",lr_eval_string("{code}"));
else if(atoi(lr_eval_string("{code}"))!=10000 )
lr_output_message("登陆失败");
return 0;
}
//确定边界只需转义“
先简单po下代码部分,参数化和结果输出稍后记录
总结:
1.用到的变量需要在开头先定义,类型严格
2.lr_output_message()输出,可作为调试的print
3.web_reg_save_param()取参数,参数注册,要用左边界,右边界,转义符等等精确的取到需要的参数
4.lr_rendezvous()集合虚拟用户,先启动的线程等待还没启动的线程,在此集合
5.lr_start_transaction()事务开始的节点
6.lr_get_transaction_duration()事务耗时,用在transaction中任何你需要知道的节点
7.lr_get_transaction_wasted_time()程序自身消耗的时间
8.lr_eval_string()变量取值
9.lr_end_transaction()事务结束,参数LR_AUTO即程序自动判断事务pass还是fail,也可自定义
查了很多资料也不知道这是啥语言,反正是很古老的脚本语言,基本的性能测试的指标还有相关概念,随便查一下资料都会有,后面还有analysis的输出,有空再分享,有错误欢迎指正!
更多推荐

所有评论(0)