當你準備使用乙個介面自動化測試框架進行自動化測試時,需要先了解下乙個介面自動化測試框架必須具備什麼功能。
*自動化測試框架
*所謂的介面自動化測試,其實包含4個方面的任務:
1,使用某種能夠生成合法協議資料的工具,向介面傳送資料並接收響應,對響應進行解釋,檢查響應結果是否符合預期(通常表現為測試指令碼)
2,使用某種驅動工具,在合適的時候方便地呼叫測試指令碼;
3,使用某種隔離工具(包括測試資料生成/模擬),便於構建方便的介面測試環境;
4,統計測試的覆蓋率;
介面自動化測試框架必須具備什麼功能:
1、校驗
這個很好了解,如果沒有校驗,單純的執行介面的話,那就談不上測試了。所以支援對返回值校驗是乙個必須的功能。
2、資料隔離
資料隔離就是指具體的請求介面、引數、校驗等資料做到與**相隔離,便於維護,一旦需要調整介面用例、新增介面用例時可很快速的找到位置,隔離的另乙個好處就是可復用,框架可以推廣給其他團隊,使用者可以使用相同的**,只需要根據要求填寫各自用例即可測試起來。
3、資料傳遞
做到資料隔離可維護後,資料傳遞是另外乙個更重要的需求。
資料傳遞是指介面用例之間可以做到向下傳參,例如我們通過建立訂單介面建立乙個訂單,該介面會返回乙個訂單號,接下來我們要進行呼叫查詢訂單的介面,從返回的資料中與建立訂單用例中的資料進行校驗,此時第二個介面的請求資料是需要從第乙個介面用例中的返回中提取的。這樣的例子比比皆是,所以支援資料傳遞是又乙個必不可少的功能。
4、動態函式
實際用例場景中我們可能會有隨機生成乙個手機號、字串加密等需求,在資料與**隔離之後,此時我們就需要**可以支援做到識別對應關鍵字時可以執行對應的函式進行填充。
5、可配置
有時,我們的需求是用例不單單只能在乙個環境上執行,可能需要同乙份介面用例可以在qa、預發、線上等多個環境都可以執行。所以框架需要做到可配置,便於切換,呼叫不同的配置檔案可以在不同的環境執行。
6、日誌
日誌包含執行的具體執行介面、請求方式、請求引數、返回值、校驗介面、請求時間、耗時等關鍵資訊,日誌的好處一來是可以便於在新增用例有問題時快速定位出**填寫有問題,二來是發現bug時方便向開發反饋提供資料,開發可以從觸發時間以及引數等資訊快速定位到問題所在。
7、視覺化報告
用例執行後,就是到了向團隊展示結果的時候了,乙個視覺化的報告可以便於團隊成員了解到每次自動化介面用例執行的成功數、失敗數等資料。
8、用例驅動
1.用例的驅動模式,涉及到怎麼存放測試資料,怎麼描述用例,又如何復用;
2.考慮到效率的話還要支援併發;
3.當然測試報告不能光記錄成功和失敗,還有用例執行耗時,介面呼叫耗時,場景的通過率等各項數值的統計。
9、資料隔離
1)用例是否能復用應該跟用例的設計有關係,跟框架關係不是很大。
2)併發的話在介面自動化方面倒不是必須的,當然有是更完美的。
3)報告確實是越強大越好,有老闆關心的資料,有開發關心的資料是最好不過了。
自動化測試框架具備的功能
構成框架的元件,最起碼應該具備以下的功能 log 日誌記錄和管理功能,針對不同的情況,設定不同的日誌級別,方便定位問題 report 測試報告生成和管理以及即時通知,測試結果快速響應 source 配置檔案 靜態資源的管理,遵循高內聚低耦合原則 common 公共函式 方法以及通用操作的管理,遵循高...
介面測試自動化框架彙總
前兩篇文章我們介紹了如何使用postman和curl手工執行介面測試用例,不過如果專案需要長期開發和維護的話,我們就需要開始考慮自動化測試了。自動化測試第一步就是框架選型。所以本篇將介紹目前主流的介面測試框架,以及它們各自的優缺點。名稱優點 缺點官網 postman newman 介面操作,容易上手...
介面自動化測試框架python requests
介面封裝 將介面封裝成物件,類似pageobject封裝 資料封裝 資料與 分離,資料存放在yaml檔案中 配置檔案 實現全域性配置 utils 其他功能封裝 測試用例 呼叫介面物件實現業務並斷言 requests pytest allure等 base api.py import requests...