今天我來給大家簡述一下什麼是介面自動化
介面自動化指的就是用指令碼的形式 對介面進行類似於工具一樣的測試。只不過其運用了指令碼的形式。可以校驗的方式更加方便以及多樣化。
首先就是最簡單的單介面請求 通過其返回值進行校驗,來自動化的斷言其是否正常
例如我們請求乙個單介面a
body =
header =
result = requests.post(url= url,data=body,json = header) 注釋:這一行就是將上面準備好的需要傳的引數。傳過去。
這個就是簡單的請求乙個post請求 result 就是服務端給你響應回來的結果。從編寫介面位址,到最後的請求完成。這就是最簡單的乙個用**編寫的介面請求。
這個介面請求並沒有完全完成。接下來還要進一步處理以及斷言,然後再自動化跑的時候,才能判斷出是否符合預期。
res = result.json() 注釋:該行**告訴我們 將返回的結果 轉化為 json格式
print(res) 注釋:將其列印出來,會發現是乙個{}字典格式的內容 或者 列表和字典相巢狀的乙個返回結果通過res["error"] 這樣的格式 就可以將你需要的字典下的鍵值對的鍵 來查詢到其對應的值。 也就是根據鍵取值。
如果遇到列表 沒辦法用get怎麼辦呢? 用res["鍵"]["鍵"][0] 用角標來獲取到裡面的內容。
然後將那些固定不變的資料進行取出來。進行斷言 判斷 是不是 正確的返回了這個值。來判斷這個介面就是不是請求成功,是不是返回了我們想要的預期結果。
這個是單介面的請求。當然 還會有多介面請求,以及連線資料庫。將某些值傳入資料庫進行查詢對應的值。以此來實現高階校驗。
其實我們動態校驗我們json返回得值 需要根據你實際的情況來判斷,有的是固定的結果 所以你可以直接找到對應的字段 如果這個欄位的value永遠不變 那麼你就是寫死斷言都可以。但是有的斷言是不能寫死的。下面舉個例子:
1. 我們資訊流 關注列表的介面 是肯定不能寫死的。因為你新增乙個關注的人 你可能列表裡面的字段你就會變化。所以你通過角標來定位是肯定不行的。這就是動態的列表 你想要校驗 你就需要運用到jsonpath這個方法,通過你固定不變的值 來找到你對應需要排查的字段。 同時 通過這個固定不變的字段去資料庫查詢對應的id 來判斷是否和請求到的值一樣 。
如果是切換環境,資料庫都不一樣了。如果也要去驗證 就需要進行先去請求資料庫這個表的這個字段,通過角標查到兩個字段。然後 回來用這個字段查json 看看存不存在。
這就是 斷言 乙個簡單介面的測試 以及如何斷言。
python介面自動化 單介面測試
介面測試之前要先知道乙個單元測試模組,那就是unittest,這個模組由5部分組成 testcase 寫用例的,所有用例都寫在這裡邊 testsuite 測試套件,收集用例 testloader 載入用例 testrunner 執行用例 testfixture 測試準備和善後工作,分為setup和t...
python 介面自動化之http協議講解
一 http協議簡述 1 五層網路架構 應用層 規定應用資料的資料格式 http 超文字傳輸協議 https 安全超文字傳輸協議 ftp 文字傳輸協議 傳輸層 建立埠到埠的通訊 tcp 網路控制協議 udp 使用者資料報協議 網路層 通過mac位址和ip位址將網際網路上任意兩台主機建立通訊 ip 網...
Python 介面自動化
python環境搭建 第三方庫 requests安裝 pip install requests 網爛時可能安裝失敗,嗯 pip安裝第三方庫提示版本較低時需要更新pip的版本 命令 python m pip install upgrade pip 檢視安裝的第三方庫 pip list requests...