python單接口自動化講解

今天我來給大家簡述一下什麼是接口自動化

接口自動化指的就是 用腳本的形式 對接口進行類似於工具一樣的測試。只不過其運用了腳本的形式。可以校驗的方式更加方便以及多樣化。

首先就是最簡單的單接口請求 通過其返回值進行校驗,來自動化的斷言其是否正常

例如我們請求一個單接口A

url = "http://aaa/aaa/aaa"     註釋:接口地址
body = {                       註釋:請求post接口需要攜帶的參數  用這種形式傳過去
    "email":"aaa",
    "password":"aaa"
}
header = {                     註釋:header也是先寫成這樣,後面真正請求post的時候 帶過去
    "Content-Type":"application/json"
}
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 看看存不存在。

這就是 斷言  一個簡單接口的測試 以及如何斷言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章