1. 介面自動化流程
需求分析
請求:url、方法、資料挑選需求做自動化測試響應:響應資料、狀態碼
時間、人員、介面複雜度設計測試用例
搭建自動化測試環境
如python、pycharm設計測試專案的架構
報告、引數化、用例執行框架編寫**
執行測試用例
unittest、pytest生成測試報告
2.介面清單整理
請求1)請求url:3.用例設計2)請求方法:post/get
3)請求引數:headers =
4)請求報文:body
響應
1)響應狀態碼:
2)響應資料:
模板:
id、模組、介面名稱、請求url、用例名稱、請求方法、請求引數型別、請求引數、預期結果、實際結果、備註
注意:單介面用例設計的顆粒度較小(以測試資料為顆粒度)
4. 專案搭建
自動化測試目錄結構
介面物件層api
1)登入 login.py用例業務實現層 case2)獲取登入列表
…
1)tese_login.py用例報告report…
報告.html工具層 tools
資料層 data
1)login.json執行入口 run_sutie.py…
4.1介面物件層
1.login.py
# 實現登入介面物件封裝
# 導包 requests
import requests
# 新建類 登入介面物件
class apilogin(object)
# 呼叫post並返回響應物件
return requests.post(url,headers=headers,json=data)
}
url、mobile、code需要從data資料檔案讀取,做引數化使用,這裡使用動態傳參
2.test_login.py
// 1.導包 unittest 、apilogin
import unittest
form apilogin import
// 2. 新建測試類 繼承unittest.testcase
class testlogin(unittest.testcase):
def test_login(self):
// 暫時儲存資料
url =
mobile =
code =
// 呼叫登入方法
obj = apilogin().api_post_login(url,mobile,code)
// 測試使用
print(『檢視測試結果』,obj.json())
// 斷言 響應資訊 、響應狀態碼
self.assertequals("ok",obj.json()['message'])
// 響應狀態碼
self.assertequals(201,obj.status_code)
// 3. 新建測試方法 test_login()
1)引數化資料準備 url,mobile,code
2)例項化 apilogin()類並呼叫登入方法
3)斷言 響應資訊 、響應狀態碼
解決資料儲存問題在data
資料夾中建立乙個login.json
的檔案
步驟:
編寫資料儲存檔案login.json
data資料夾編寫讀取json工具
tools資料夾
# 導包
# 新建讀取工具類
1.使用初始化方法,獲取要讀取的檔名稱
1)self.filepath = '.../data/'+filename
2. 讀取檔案方法
1)開啟json檔案獲取檔案流
2)呼叫load方法載入檔案流
3)返回結果
使用引數化動態獲取引數資料
parameterized引數化元件
pip install parameterized
@parameterized.expand(引數)
1). 單個引數:列**式 [值1,值2]
2). 多個引數:列表巢狀元組[(引數1),(引數2)]
// 導包
import unittest
from parameterized import parameterized
// 新建測試類
class testpara(unittest.testcase):
// 新建測試方法
python介面自動化測試
為了監控線上的介面是否正常執行,所以想寫乙個smoke test.這個檔案希望能夠實現從檔案讀取url和引數,然後傳送請求,校驗返回code 200的功能。1.首先採取哪種方式存放url和請求引數 excel?csv?ini?用csv比較好,相容性也比較好 那我們使用csv吧。todo 考慮放在資料...
python介面自動化測試
介面自動化測試之連線資料庫 安裝環境 window7 python3.7 資料庫mysql 遠端連線 步驟內容 1.連線資料庫 2.建立游標 3.sql語句 4.獲取元組資訊 連線資料庫 查詢出來的資料都是以元組的形式返回的 sql select from t user where id 5 查詢多...
python介面自動化 單介面測試
介面測試之前要先知道乙個單元測試模組,那就是unittest,這個模組由5部分組成 testcase 寫用例的,所有用例都寫在這裡邊 testsuite 測試套件,收集用例 testloader 載入用例 testrunner 執行用例 testfixture 測試準備和善後工作,分為setup和t...