接口测试框架2
現(xiàn)在市面上做接口測試的工具很多,比如Postman,soapUI, JMeter, Python+ unittest等等,各種不同的測試工具擁有不同的特色。但市面上的接口測試工具都存在一個問題就是無法完全吻合的去適用沒一個項目,比如數(shù)據(jù)的處理,加密方式的選擇,業(yè)務(wù)邏輯的處理等等,因為自己編寫一個框架能夠很好的契合自己的項目。本次選用Python+ unittest方案。這個方案需要測試者具有一定的代碼能力,通過利用Python自帶的PyUnit也就是我們說的:unittest自動化框架,進(jìn)行接口自動化測試框架的二次開發(fā)。
特點:框架穩(wěn)定,依托于Python強大的庫進(jìn)行各種形式的接口測試,如基于http協(xié)議的接口可以利用urlib,urlib2,requests等庫進(jìn)行設(shè)計測試。(現(xiàn)在公司的接口基本都是基于http協(xié)議的,因此調(diào)用這三個庫可以完全的實現(xiàn)接口自動化)同時利用JSON庫于測試參數(shù)進(jìn)行配置,實現(xiàn)整體測試框架的參數(shù)驅(qū)動化。
2.框架介紹
整個框架主要分為三層:
框架結(jié)構(gòu)圖如下:
整個框架結(jié)構(gòu)如上圖,console包為整個框架的入口,通過這里來啟動整個框架運作。lib和case為框架的核心層和應(yīng)用層。
lib里面為測試框架中所有的底層代碼
包括:斷言方法(resultprocess),權(quán)鑒,配置文件,自動生成腳本,測試數(shù)據(jù)的獲取,數(shù)據(jù)類型的轉(zhuǎn)換,加密的處理,接口測試的初始化,發(fā)送郵件,生成測試報告等等。
case 包里包括server和testcase兩個包,server包里面為接口業(yè)務(wù)串聯(lián),testcase為單個接口測試。
單個接口測試用例示例:
單個server用例示例:
說明:
data數(shù)據(jù)包:
log:?主要用于存放腳本運行時生成的log文件
report :用于存放報告文件,為xml文件
case_data?:單個接口測試的數(shù)據(jù),為json文件
server-data :?接口業(yè)務(wù)串聯(lián)的數(shù)據(jù),為excel文件
case_data 中json數(shù)據(jù)格式:
(關(guān)于什么是json格式,自己百度)
json數(shù)據(jù)根據(jù)給的上面的這個模板進(jìn)行配置,注意字段:
test_list :單個接口的多種狀態(tài)的測試名稱,根據(jù)該字段列表中的值進(jìn)行循環(huán)生成py的測試腳本
expect??? :斷言的數(shù)據(jù)
mode???? :用于判斷斷言采用何種模式(具體情況參看lib庫里的resultprocess.py文件)
R : 用于判斷是否返回測試數(shù)據(jù)
reclye: 用于判斷是否循環(huán)
replace_filed: 標(biāo)識符,用于判斷哪個參數(shù)需要被替換,主要用于業(yè)務(wù)串聯(lián)測試
server_data 中excel數(shù)據(jù)格式:
excel里面的數(shù)據(jù)根據(jù)給的上面的這個模板進(jìn)行配置,注意字段:
測試內(nèi)容 :寫業(yè)務(wù)流程
測試文件名:表示自動生成的測試腳本的文件名
測試標(biāo)題:業(yè)務(wù)串聯(lián)測試的用例名
調(diào)用文件:填寫需要串聯(lián)的接口,以“ ,"隔開
傳遞字段: 表示下一個接口需要從上一個接口返回的數(shù)據(jù)中獲取的字段內(nèi)容
測試報告:
3.框架使用說明:
測試人員根據(jù)開發(fā)提供的接口文檔,對于接口的測試點進(jìn)行完整的分析,編寫測試用例,再把測試用例轉(zhuǎn)換成對應(yīng)的json和excel文檔,啟動console里面的start_文件,選擇對應(yīng)的測試模式,進(jìn)行測試。
轉(zhuǎn)載于:https://www.cnblogs.com/zhangbao003/p/9547144.html
總結(jié)
- 上一篇: django中的admin组件
- 下一篇: 周口治疗少精弱精最好的医院推荐