1、当录制好LR脚本后,直接运行时由于token是有有效期的,当有效期已过除登陆接口外后续接口都会因缺少有效token而无法获取相应数据;
2、因此就需要在每次回放运行接口脚本是提取登陆接口返回的token值,并传递给后续需要的接口请求头中
3、在LR中提取token值或者提取接口返回的参数可以使用web_reg_save_param()函数,输入函数有两种方式,一直手动写入,还有一种是通过步骤工具箱来完成
鼠标定位到登陆接口上方-右击-插入-新建步骤,即可查看界面右侧弹出步骤工具箱
4、步骤工具箱中的搜索框中输入web_reg_save_param,即可搜索到相关函数,点击会弹出该函数的配置窗口。
5,如图为该web_reg_save_param函数的配置窗口,如果登陆接口返回的token值如下图所示
","realName":"测试一号","token":"eyJ0euizLIYUFXlQrxHQ","userType":7,"failNum":n
在配置窗口中则需要配置参数名、左边界(接口返回需要提取的token值左边显示字符),右边界(接口返回需要提取的token值右边显示字符),勾选找不到时提示报错(ERROR),勾选搜索范围全部或者正文。配置完成后点击确定按钮,具体配置如下图所示
6、配置完成后鼠标定位区域会自动生成如下函数,如果直接运行则会报错,因为LR和RB中的值有双引号需要转义符\,因此需要在值内的双引号前面加个\,配置完成后如图所示。
配置完成后如图所示。
//提前登陆接口返回的token值
web_reg_save_param("token",
"LB=\",\"token\":\"",
"RB=\",\"userType",
"NotFound=ERROR",
"Search=Body",
LAST);
7、配置完成后运行日志会提示该函数运行成功;如果需要输出查看获取的token值可以通过如下函数,注意:该函数需要在登陆接口的下方。
//输入token参数
lr_log_message("找到的参数为:%s",lr_eval_string("{token}"));
8、如果需要将获取的token值传递给后续所有的接口请求头中则需要如下函数,
注意:该函数同样是需要放在登陆接口的下方。
//将获取的token参数 传递给所有后续请求头中
web_add_auto_header("token","{token}");