1. 程式人生 > 其它 >Linux下flask服務介面測試

Linux下flask服務介面測試

技術標籤:python

目錄

curl介面測試

Python指令碼完成post介面測試指令碼

執行後訪問網頁,內容中的中文顯示亂碼

解決python介面測試返回json亂碼問題,解決如下:

python介面自動化測試五:亂碼、警告、錯誤處理


curl介面測試

參考:https://blog.csdn.net/russ44/article/details/53308838

Windows/mac環境上有很多介面測試的工具,如soapui、postman等,但這些工具在linux平臺上使用起來相對不那麼便捷。有時候當我們要測試一些外部介面時,當本地無權呼叫測試路徑時,需要將測試建立在linux平臺,除了封裝簡單的請求程式碼進行實現外,可通過curl實現

1、測試get請求

$ curl http://www.linuxidc.com/login.cgi?user=test001&password=123456

2、測試post請求

$ curl -d "user=nickwolfe&password=12345" http://www.linuxidc.com/login.cgi

3、在命令列直接傳送JSON結構資料

root [ ~ ]$ curl -H 'content-type: application/json' -X POST -d '{"accountType":"4","channel":"1","channelId":"YW_MMY","uid":"13154897541","phoneNumber":"13154897541","loginSource":"3","loginType":"1","userIp":"192.168.2.3","postTime":"14633fffffffffff81286","userAgent":"Windows NT","imei":"352600051025733","macAddress":"40:92:d4:cb:46:43","serialNumber":"123"}' http://192.168.129.xx/AntiRushServer/api/ActivityAntiRush

響應訊息:

{"code":"4000","message":"引數錯誤:time的值不是UInt"}

Python指令碼完成post介面測試指令碼

import requests

new_url="http://10.31.143.2:8989/system/systemOrgan/list"
params = {"access_token": "807ad226-cbcc-4620-9544-8f53e1d51405"}
payload = {
  "organId":1,
  "pageNumber":1,
  "pageSize":10,
  "sortBy":"lastUpdateTime",
  "sort":"DESC"}
results = requests.post(new_url, params=params, json=payload).status_code


print(results)

執行後訪問網頁,內容中的中文顯示亂碼

解決方式:

給app配置app.config[‘JSON_AS_ASCII'] = False,即:

if __name__ == "__main__":
    app.run(host='127.0.0.1', port='8080')

變為:

if __name__ == "__main__":
    app.config['JSON_AS_ASCII'] = False
    app.run(host='127.0.0.1', port='8080')

解決python介面測試返回json亂碼問題,解決如下:

req = requests.post(url="http://192.168.229.128:8080/cms/manage/loginJump.do",
                            data={"userAccount": "admin", "loginPwd": "123456"})
 results = req.json()
 print(json.dumps(results, sort_keys=True, indent=2, separators=(',', ': '), ensure_ascii=False))   
 # indent 是間隔長度,ensure_asccii解決編碼問題

python介面自動化測試五:亂碼、警告、錯誤處理

https://www.cnblogs.com/zhongyehai/p/9159552.html