日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python接口自动化(二十四)--unittest断言——中(详解)

發布時間:2025/7/14 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python接口自动化(二十四)--unittest断言——中(详解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

  上一篇通過簡單的案例給小伙伴們介紹了一下unittest斷言,這篇我們將通過結合和圍繞實際的工作來進行unittest的斷言。這里以獲取城市天氣預報的接口為例,設計了 2 個用例,一個是查詢北京的天氣,一個是查詢

南京為例,你也可以查詢別的城市的天氣預報。

接口文檔

1、在實際工作中,開發人員都會給你接口文檔方便QA測試,和其他系統的開發人員對接。接口文檔如下:

天氣預報

獲取實時天氣

請求方式:POST

請求地址:https://www.apiopen.top/weatherApi

Query參數名類型必需描述示例 e.g.
citystring城市名稱成都

?

返回示例:

{"code": 200,"msg": "成功!","data": {"yesterday": {"date": "14日星期五","high": "高溫 7℃","fx": "無持續風向","low": "低溫 4℃","fl": "","type": "陰"},"city": "成都","aqi": "89","forecast": [{"date": "15日星期六","high": "高溫 10℃","fengli": "","low": "低溫 2℃","fengxiang": "無持續風向","type": "多云"},{"date": "16日星期天","high": "高溫 15℃","fengli": "","low": "低溫 3℃","fengxiang": "無持續風向","type": "晴"},{"date": "17日星期一","high": "高溫 14℃","fengli": "","low": "低溫 5℃","fengxiang": "無持續風向","type": "晴"},{"date": "18日星期二","high": "高溫 11℃","fengli": "","low": "低溫 6℃","fengxiang": "無持續風向","type": "多云"},{"date": "19日星期三","high": "高溫 12℃","fengli": "","low": "低溫 6℃","fengxiang": "無持續風向","type": "多云"}],"ganmao": "晝夜溫差較大,較易發生感冒,請適當增減衣服。體質較弱的朋友請注意防護。","wendu": "9"} }

2、如果沒有你可以自己通過fiddler抓包獲取參數和接口URL,以及請求方式 。

設計測試用例

1、針對以上接口,設計兩個城市接口測試用例

2、運行接口用例結果

3、參考代碼

1 # coding=utf-8 2 #1.先設置編碼,utf-8可支持中英文,如上,一般放在第一行 3 4 #2.注釋:包括記錄創建時間,創建人,項目名稱。 5 ''' 6 Created on 2019-4-26 7 @author: 北京-宏哥 8 Project:學習和使用unittest框架編寫斷言-中篇 9 ''' 10 #3.導入requests和unittest模塊 11 import requests 12 import unittest 13 #4.編寫測試用例和斷言 14 class TestWeather(unittest.TestCase): 15 '''測試天氣預報接口''' # 此注釋將展示到測試報告的測試組類 16 def test_beijin_weather(self): 17 '''查詢北京天氣預報''' # 此注釋將展示到測試報告的用例標題 18 url = "https://www.apiopen.top/weatherApi" 19 20 par = { 21 "city": "北京", # 城市名 22 } 23 r = requests.post(url, params=par) 24 print(r.text) # 獲取返回的結果 25 result = r.json()['code'] #獲取狀態碼 26 print(result) 27 # 斷言 28 self.assertEqual(200, result) 29 self.assertIn('msg', r.text) 30 self.assertTrue('北京'in r.text) 31 def test_nanjin_weather(self): 32 '''查詢南京天氣預報''' # 此注釋將展示到測試報告的用例標題 33 url = "https://www.apiopen.top/weatherApi" 34 par = { 35 "city": "南京", # 城市名 36 } 37 r = requests.post(url, params=par) 38 print(r.text) # 獲取返回的結果 39 result = r.json()['code']#獲取狀態碼 40 print(result) 41 # 斷言 42 self.assertEqual(200, result) 43 self.assertIn('msg', r.text) 44 self.assertTrue('南京' in r.text) 45 46 if __name__ == "__main__": 47 unittest.main()

小結

1、實際中的接口和這個也差不多,你可以增加沒有這個城市的等等測試用例,可根據實際需要增加多個測試用例全面的斷言。

2、實際開發或者測試工作中經常用到json數據,那么就會有這樣一個需求:在谷歌瀏覽器中訪問URL地址返回的json數據能否按照json格式展現出來。

比如,在谷歌瀏覽器中訪問:http://jsonview.com/example.json

展現效果如下:

那么安裝了JsonView擴展程序后的展現效果如下:

很明顯,后者的效果更好。實現步驟如下:

1、下載JsonView擴展程序壓縮包

下載地址:https://github.com/gildas-lormeau/JSONView-for-Chrome

點擊【Clone or download】——【Download Zip】

2、解壓這個壓縮包

3、打開谷歌瀏覽器的擴展程序界面

方式一:在谷歌瀏覽器地址欄中輸入:chrome://extensions/

方式二:

?

4、加載JsonView擴展程序

選中開發者模式,點擊【加載正在開發的擴展程序…】,選擇插件目錄(D:\JSONView-for-Chrome-master\WebContent)

?

點擊確定后,就安裝上了。安裝后界面如下:

?

安裝完成,重新加載 (Ctrl+R)。

轉載于:https://www.cnblogs.com/du-hong/p/10766311.html

總結

以上是生活随笔為你收集整理的python接口自动化(二十四)--unittest断言——中(详解)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。