LoadRunner11 实现token的解析与认证
Posted amy720
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LoadRunner11 实现token的解析与认证相关的知识,希望对你有一定的参考价值。
问题描述:
1、当前系统通过token实现系统安全验证,登录成功后,token被存储在返回体中(reaponse body),后续服务器请求时,需要将该token添加到请求头部(request header)中;
2、当前web服务访问时,强制限制必须适应谷歌浏览器;
3、Lr录制脚本时,需要通过代理的方式录制,但录制结果回放时,总是提示错误:
Error -26630: HTTP Status-Code=401 (Unauthorized) for ***;
##解决办法:
1、打开录制的脚本,默认为脚本[Script]模式,需要切换到树[Tree]视图;
2、在左侧列表汇总找到系统登录请求[login]步骤,在右侧找到[Response Body]步骤,返回数据为json格式,如下:
{
“code” : 200,
“message” : “操作成功”,
“name”:admin,
“token”:“3E78453A8B17F3A4EBA1B19D7F4D22D4-NKifP2w4mhXI9vl1YZynupr”
}
3、选择[token]的值域内容,右键选择[Create Parameter];切换到[Script]视图,看到如下Lr新增内容:
//Correlation comment - Do not change!Original value=‘3E78453A8B17F3A4EBA1B19D7F4D22D4-NKifP2w4mhXI9vl1YZynupr‘ Name =‘CorrelationParameter_1‘
// Lr自动添加的参数解析算法
web_reg_save_param_ex(
"ParamName=CorrelationParameter_1",
"LB="",
"RB=",",
SEARCH_FILTERS,
"Scope=Body",
"RequestUrl=*/login*",
LAST);
// 修订[token]解析算法:
// 按照默认Lr解析[token]的算法,无法获取到真正的token,需要修改如下:
web_reg_save_param_ex(
"ParamName=my_token", // 修改参数名,便于记忆
"LB="token":"", // 修改 token 值解析算法
"RB=",",
SEARCH_FILTERS,
"Scope=Body",
"RequestUrl=*/login*",
LAST);
// 登录模块-此部分为Lr自动生成部分,不需要修改;
web_custom_request("login",
"URL=http://192.168.0.1:8080/test/login",
"Method=POST",
"Resource=0",
"RecContentType=application/json",
"Referer=http://192.168.0.1:8080/test/index.html",
"Snapshot=t6.inf",
"Mode=HTML",
"EncType=application/json",
"Body={"userName":"admin","password":"123456"}",
LAST);
//新增将解析出的token自动添加在每一个后续请求的头部(request header):
web_add_auto_header("Authorization", "{my_token}");
// 后续的web请求,自动添加token认证:
web_url(***);
web_submit_data(***);
至此完成token解析与认证。
说明:非原创,忘记文章链接了
以上是关于LoadRunner11 实现token的解析与认证的主要内容,如果未能解决你的问题,请参考以下文章
eggjs 怎么使用 egg-jwt 实现 token 解析?