Loadrunner发送json串请求

来源:互联网 发布:淘宝清关信息 编辑:程序博客网 时间:2024/05/16 01:49
1、LR访问含有json串的请求格式如下:
web_custom_request("getActivityListForClient",
"Method=Post",//使用Post方法
"Resource=1",
"URL=http://yy.moodoo.com.cn:8081/mddddd/djn/directprovider",
"RecContentType=application/json",//指定响应头(接收)的Content-Type
"EncType=application/json",//指定请求头的Content-Type
//将所有的参数拼接到一起放到Body体里面,双引号要用斜杠转义,避免和lr里面的双引号冲突
"Body={"action":"ProjectActivityInterface","method":"getActivityListForClient","data":["0105.1505004",2],"type":"rpc","tid":36}",
"TargetFrame=",
LAST);

2、但是按照以上的格式写,检查格式、符号都没有错误,编译也没有错误。但是一执行就报500错误,后来查看服务器,发现根本就没有收到这个请求。即便是不带任何参数在浏览器访问:http://yy.mingdiao.com.cn:8081/mdoss/djn/directprovider,服务器也会收到这个错误的请求,但是我在lr这样执行,服务器完全没反应。后来,百度查找解决方法,有人说把Post换成Put,但是这不是鬼扯吗?现在开发几乎都不会用put请求。并且我们的接口文档也明确说明了是post请求,所以即便换成PUT不再报500,但是,http返回码也是400,且有警告信息。所以这不是一个好的解决办法。
最终找到此错误的原因是,body体的大括号和lr的参数化大括号冲突了,所以一直报错。
解方法是,在Vugen里面tool下面找到常规选项,将参数化的大括号改为尖括号,如下图:
3、Josn串含有中文报500错。此问题暂未解决,如果有哪位大神知道麻烦留言说一下,万分感谢。
"Body={\"action\":\"ProjectInterface\",\"method\":\"getContract\",\"data\":[\"0201.工程开工\"],\"type\":\"rpc\",\"tid\":36}",
0 0