接口測試時,數據處理需要注意的細節


一、json模塊中的dumps方法

請求接口時params肯定是dict類型的,就是這種{"A":"B"},因為需要傳json格式的參數到服務端,但是為了降低case的維護成本,參數不會進行寫死,一般會從數據庫中拿參數,在服務端有強校驗的情況下,格式不正確的參數就會報錯,比如說{“KEY”:{'A':B}}這里面value在沒有encoding前是dict類型,在請求對應接口時就會response['code']一直非0。

json模塊中的dumps方法可以很好的解決上面的問題

>>> import json

>>> a={'a':{'key1':1,'key2':(1,2),'key3':[1,2,3],4:"aa"}}

>>> b=json.dumps(a)

>>> print b

{"a": {"key3": [1, 2, 3], "key2": [1, 2], "key1": 1, "4": "aa"}}

首先b["a"]["key2"]的value的類型原來是元組類型經過encoding后變成list

其次b["a"][4]其中4的類型是int型的經過encoding后變成string類型

 

json.dumps()還增加了排序參數sort_keys (適用於python2,python3當然也有類似的用法)

>>> c=json.dumps(a,sort_keys=True)

>>> print c

{"a": {"4": "aa", "key1": 1, "key2": [1, 2], "key3": [1, 2, 3]}}

這個排序是按照字典的(a到Z)排序

 

json.dumps()有一個參數indent可以增加縮進方便查看 

>>> d=json.dumps(a,sort_keys=True,indent=3)

>>> print d

{

   "a": {

      "4": "aa", 

      "key1": 1, 

      "key2": [

         1, 

         2

      ], 

      "key3": [

         1, 

         2, 

         3

      ]

   }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM