如何让LoadRunner通过服务端的拦截器
作者:网络转载 发布时间:[ 2016/8/2 14:23:21 ] 推荐标签:性能测试
一直以来,在测试环境调试或者执行LoadRunner脚本前,都需要让开发帮忙把服务端的拦截器关掉。否则在执行脚本时,会提示下面的错误:“Invalid request IP:60.173.220.146 path:接口路径和接口名称”,为了不依赖于开发的操作,我通过Fiddler捕获了一下接口请求的Request Headers参数,让开发看了下拦截器的代码,得到了必传参数列表。
接下来要做的事是找到LoadRunner里是否有方法可以把那些必传的头文件参数加到每个接口的请求里。
初,是以为可以把这些参数加到web_custom_request的方法体里,但查了一下Help文件,并没有一个属性值是用来塞Header参数的;
web_custom_request("getVerificationCode",
"url=http://api.xxxxx.cn/userInfo/getVerificationCode?phone={phone}&clientId={clientid}",
"Method=POST",
"TargetFrame=",
"Resource=0",
"RecContentType=application/json",
"Mode=HTTP",
"Snapshot=t7.inf",
LAST);
后来又找到web_add_header方法,它可以将指定的header参数加到接口的请求里,从而让这个接口的请求通过服务端的拦截器。不过这个方法有一个不足的地方,是需要在每个请求之前都要加一下,这样会导致整个脚本显得比较臃肿,维护起来也会麻烦很多。所以,为了提高整个脚本的可维护性,又继续深挖了一下LoadRunner的Help文档,还是很强大的一个参考资料,只是需要有一定的英文阅读能力。
终还是给我找到了web_add_header的加强版:web_add_auto_header,只需要将它加在整个Action文件的前面,它会自动把header参数加到整个Action里的所有接口请求里。
区别:
web_add_header:Adds the specified header to the next HTTP requests.
web_add_auto_header:Adds the specified header to all subsequent HTTP requests.
基本格式如下:
web_add_auto_header("VERSION", "2.5.2.160701");
web_add_auto_header("CLIENT_TYPE", "1");
web_add_auto_header("APIVERSION", "1.0");
web_add_auto_header("TIME", "1468224184577");
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11