(。・∀・)ノ゙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~