今天碰到一個超級詭異的問題:先用postman調通了接口雄可,然后使用RF進行自動化。
因為接口參數比較長(后來發(fā)現就是參數太長沒仔細看導致的問題2)数苫,所以就直接復制了postman中調試使用的參數,到RF中進行請求辨液。
參數是json格式的虐急,因此在RF中使用語句進行設置:
{data} Set Variable {"v":"1.0",...,xxxxxx} 具體json值就不貼了,反正實際請求 的時候json里面有幾十個k-v對滔迈。 然后使用{data}在請求接口時作為參數止吁。
詭異的事情出現了,一直得不到正確的返回值燎悍,接口返回的提示是參數語法錯誤敬惦。
查看log發(fā)現,錯誤出現在請求的時候對"進行了轉義谈山,所以我的參數全都變成了這樣的:
data="{"v":"1.0",...,xxxxx}
本來以為是中文符號的問題俄删,那簡單嘛,一鍵替換奏路,參數拷出來放到文本編輯器里面畴椰,什么雙引號,冒號鸽粉,逗號斜脂,全都替換一遍。
再請求触机,還是有錯誤秽褒。
這不科學昂琛?難道是替換的時候出現了什么詭異的問題销斟,導致我輸入的字符有問題庐椒?
嘛,那就用笨方法蚂踊,把隔壁可以成功跑通的case约谈,參數拿過來,使用隔壁case中的{"":"","":""}符號犁钟,貼上出錯case的參數好了棱诱。。(但是幾十個參數實在懶得寫涝动,事已至此只能不懶了B跹)
于是在json格式的這個大框架{"":"","":""}下,一個一個的復制粘貼我需要的參數醋粟。
等到復制最后幾個參數的時候靡菇,我恍然大悟了!有一個參數米愿,key居然少了雙引號……
坑爹啊厦凤,就是少的這個雙引號害我排查了小半天。育苟。较鼓。果然不能犯懶啊,話說postman里面能夠請求成功违柏,可能是對雙引號沒有那么嚴格的要求博烂,RF估計就不一樣了。漱竖。脖母。
結論:當參數很多很多的時候,一定要用json格式檢查工具闲孤,去檢查一下你的json格式對不對白患丁!不要像我一樣走了那么多彎路讼积!