Loadrunner發送json串請求

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}",
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章