共同點都是截獲了資料,不同點是mock相當於服務端,使用者測客戶端; 介面測試相當於站在客戶端,測試服務端
在客戶端角度,向服務端傳送資料,對**的資料進行判斷。
image1410×282 5.02 kb
單元測試:pytest, python -> 直接對**進行測試(可以直觀有效的反饋錯誤,代價最小)
介面格式的規則
roy_fielding: 1
**: 2
get:獲取資源. 引數資訊放到請求頭
post:新建/更新資源. 引數資訊放到請求體
put:更新資源
delete:刪除資源
注意**中/和//除法:python中的/,c語言中的//是取整數
2.1資料生成:如何生成有價值資料
指標形資料:(天線,射頻訊號 -> nv 值 ,波段 )
[-5 ~ -1] 訊號差 [0 ~ 5 ] 訊號中 [5~10] 訊號好
邊界值:七點法
image1703×408 5.28 kb
笛卡爾積
2.2 資料清洗:如何清洗無用資料
當前介面受到髒資料影響,干擾正常功能。在測試前需要進行髒資料清洗。
注意:在測試後進行清理,不是測試前
清理方法:
建立方法(成員新增,埠占用,多程序 id ,檔案殘留,檔案篡改恢復):在 teardown 進行銷毀
刪除方法(刪除檔案,刪除成員…):備份及恢復或偽資料
2.3 如何檢視並除錯介面
利用 charles 的**功能,實現介面的錯誤診斷
注意:如果是 https ,要注意證書問題,設定 verify=false 取消證書驗證
3.1 考慮並行外掛程式xdist
github
pytest plugin for distributed testing and loop-on-failures testing modes. - pytest-dev/pytest-xdist
在用例後加入 -n auto,會根據 cpu 數(cpu邏輯數)進行並行。
這裡只對查詢成員的用例進行並行測試,其他增刪改不能並行,業務有衝突:所以只對此檔案的查詢用例test_get_member上加-n auto
注意:並行用例設計不要衝突,比如以下情況:
並行用例中存在資料相同(隨機數:時間種子)
並行用例埠相同
並行用例本地的檔案相同:程序鎖
3.2 使用 session
session 原理
session 保活提速
session 應用:免 token 登陸,token放在session裡,一次登陸,保持會話,一直使用,直至失效
注意:除錯**時,如果報錯ssl證書錯誤,則是因為開啟了**:因為charles等**工具開啟時,電腦的設定缺省會自動開啟**,這樣就**介面請求報錯
此時:設定--》網路與internet--》**--》使用**伺服器:關
封裝基礎 base 類
封裝介面測試業務類
封裝的page裡放各種動作:session、requests、get、post等
而用例裡只是呼叫page類,並傳具體值
token放在session裡,其他的引數放在params裡(get)或json裡(post)
字典的update用法
try,finally用法
如何從 0 開始搭建一套企業介面自動化
眾所周知為了適應業務快速迭代,測試人員面臨著測試時間不斷被壓縮,而最近兩年大環境因素,測試人員的 hc 也是在縮減的。業務越來越多,測試時間和人力面臨著巨大的挑戰,如何兜底保證質量,其實是乙個很大的挑戰,自動化測試的手段變得越來越重要。按照自動化測試經典理論以及實際工作經驗來看,對於測試人員來說,介...
介面自動化
推薦一款適合開發的開源 該公司產品從資料庫,持續整合 ci 伺服器,問題和專案跟蹤工具,到介面自動化工具都應有盡有。是我見過比較系統的開發 這裡我們以介面自動化為主講解 pycharm frommenu 2.安裝python解析器 version 3或者version2隨便哪乙個都可以,本人自用ve...
介面自動化
1 get請求 2import requests 3 url 4 data 5 res requests.get url,data 直接用requests.get url,data 即可,其中.get表示為get方法,不需要對字典型別的data進行處理6 res res.text text方法是獲取...