千家信息网

LoadRunner登录脚本-简单易上手

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,(。・∀・)ノ゙hi,guy,作为一枚刚入坑性能测试的菜鸡,在这里是自己写的一个登录脚本,传递参数有用户名/密码/验证码。由于当时没有绕过验证码的问题,所以选择了直接访问接口获取验证码。 主要流
千家信息网最后更新 2024年09月22日LoadRunner登录脚本-简单易上手
(。・∀・)ノ゙hi,guy,作为一枚刚入坑性能测试的菜鸡,在这里是自己写的一个登录脚本,传递参数有用户名/密码/验证码。由于当时没有绕过验证码的问题,所以选择了直接访问接口获取验证码。    主要流程如下:    发送验证码获取请求=>获取验证码=>将验证码填入登录请求参数中,发送登录请求=>判断登录是否成功。    (在判断登录是否成功时,由于后续测试需要用到返回的code值,我直接判断是否取到code作为判断操作    成功的依据)LR的脚本是基于C语言的,所以在这里,每一个语句结束一定要注意使用;在前面的流程中,我们大概简述了我们的脚本编写的步骤。现在来细化一下各部分的具体实现。1、发送验证码获取请求 验证码接口的是GET请求。使用LR函数,直接将参数写入即可    web_url("给这个请求起的别名",         "URL=接口地址",         "Resource=0",         "RecContentType=json/html",         "Referer=",         "Snapshot=",         "Mode=HTML",         LAST);2、获取验证码获取验证码,就是需要从第一步的返回结果中找到验证码存储的参数,将验证码取出来,放在自己设置的参数名称中    web_reg_save_param("自己设置的参数名称",                   "LB=result\":\""   //需要存储的参数最左侧的字符                   "RB=\"",             //需要存储的参数最右侧的字符                   //"ORD=1",       //应该取第几次符合上述条件的内容                   "SaveLen=4",  //需要存储的参数的长度                   "SEARCH=BODY",                   LAST);            //还有许多属性,可以自己查找                如果你按照这个顺序进行运行,一定会出错。因为,web_reg_save_param是一个注册类型的函数。                它注册一个请求,以在检索到的网页中查找并保存一个文本字符串。只有在执行了下一个操作函数                (如web_url)后才会执行该操作。因此在脚本编写中需要将第2步的代码写到第1步之前3、将验证码填入登录请求参数中,发送登录请求其实第2、3步是一个手动关联的操作。登录接口是一个POST请求。web_submit_data("给这个接口起的别名",                 "Action=接口地址",                "Method=POST",                "TargetFrame=body",                "RecContentType=json/html",                "Referer=页面地址",                "Snapshot=快照",                "Mode=HTML",                ITEMDATA,                "Name=loginName", "Value={loginName}", ENDITEM,                "Name=password", "Value={password}", ENDITEM,                "Name=captcha", "Value={result}", ENDITEM,                "Name=type", "Value=H5", ENDITEM,                LAST);                注意,在"Name=captcha"中,传递的应该是我们在上面存储的验证码,所以传递的参数要是我们                第2步中自己设置的参数名称。即"Value={第2步中自己设置的参数名称},                Value={loginName}和{password},我设置了参数列表。好累啊,今天不想写了,明天见!                4、判断登录是否成功                我这边要获取返回值,如果获取失败,就直接报错No match found for the requested parameter "code".                获取成功就打印code值                对,我有点懒,还没有开始整理日志打印web_reg_save_param("code",                   "LB=code\":\"",                   "RB=\"",                   //"ORD=1",                   "SaveLen=32",                   "SEARCH=BODY",                   LAST);同理可得,这个注册型函数也要放在第3步的前面。打印就使用lr_output_message(lr_eval_string("{code}"));

好的,现在相当于我们的开发手册已经完成了,其他细节也要注意哦

1、新建脚本,注意选择脚本协议时要与自己所测试的项目一致。2、lr_start_transaction("login");lr_end_transaction("login", LR_AUTO);设置事务开始结束函数("事务名称")。如果需要平均事务响应时间等有关事务的报告就必须要增加事务,在你需要统计的内容前后增加上事务函数增加事务函数有手动写函数,还有insert选项下的开始事务和结束事务,可以直接点击添加3.在Vuser选项下的Run time setting下的Run Log可以选择运行次数(不是并发哦)好的,写的有点累了,有关查看报告的下次再讲。PS:这里只是很简单的一个登录脚本,还有许多设置会在以后的文档中慢慢分享给大家(^U^)ノ~YO~
0