LoadRunner Login Script - Simple and Easy to Get Started

(。・∀・)ノ゙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)后才会执行该操作。

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}"));

Ok, now it is equivalent to our development manual has been completed, and other details should also be paid attention to.

1、新建脚本,注意选择脚本协议时要与自己所测试的项目一致。
2、lr_start_transaction("login");lr_end_transaction("login", LR_AUTO);设置事务开始结束函数("事务名称")。
如果需要平均事务响应时间等有关事务的报告就必须要增加事务,在你需要统计的内容前后增加上事务函数
增加事务函数有手动写函数,还有insert选项下的开始事务和结束事务,可以直接点击添加
3.在Vuser选项下的Run time setting下的Run Log可以选择运行次数(不是并发哦)

好的,写的有点累了,有关查看报告的下次再讲。
PS:这里只是很简单的一个登录脚本,还有许多设置会在以后的文档中慢慢分享给大家(^U^)ノ~YO~

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325322901&siteId=291194637