2021 1 31企業介面自動化實戰

2022-06-16 12:42:11 字數 2151 閱讀 8661

共同點都是截獲了資料,不同點是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方法是獲取...