1.录制带登录的脚本并回放,回放后web_submit_data方法报错
Error -26631: HTTP Status-Code=400 (Bad Request) for "https://......."
查找原因:
首先状态码是400,以我背面试题的经验来说是请求错误,大概率是向接口提交的参数有误。将此部分代码粘出来,重新录制一遍再对比,发现上图中的第一个name后的value是会变的,其他的参数都不变。所以粗略判断是因为录制的值是写死的,我们要对他进行参数化。于是昨晚研究了六个小时,又是上网查又是抓包又是f12又是写正则啥的但是没弄好(枯了),今天来请教一下同事发现loadrunner有个自动参数化的功能,我真的是。。。
解决办法:
点击工具栏的design studio
打开之后,第一行就是那个会变的字段。。。
然后选中一行,点击上面的correlate,就自动参数化了。代码中也自动生成了正则的代码。当然有了这神器,果断每一行都点一遍,管他有用没有。。。
2.回放的请求头缺少参数
Error -26630: HTTP Status-Code=401 (Unauthorized) for "https:......"
查找原因:
这个问题我上网查了下
https://www.cnblogs.com/apple2016/p/14550143.html
他说用web_add_header只能给下面的方法使用一次,后面的方法就没法用了。然后我搜了一下代码,我的header都是auto_header。既然都是auto,那么是不是我的header少了什么参数呢,我们查看一下header
右键代码中报错的方法部分,点击show snapshot
点击split进行分屏查看,方便比对。左边我们点击录制,就是查看录制下来的东西,右边选回放,看看回放都有哪些东西。我们查看header中的内容
比对后发现录制的header比回放的header多了个Authorization字段,是授权的意思。我们再看报错内容是401,Unauthorized未授权。那么是不是就是因为少了这个呢,所以我们要添加一下试试。但是还有个问题,需要看看这个值会不会变,所以还要录制一边进行比对,很幸运,这是个不会变的值,所以我们直接添加header就好了。
解决方法:
在报错代码上方加一个web_add_auto_header("字段名","值");
回放成功!撒花