autoTestin輕量級介面自動化簡介
執行一個測試計劃後的介面測試資料報告:

一:執行測試計劃

二:維護api_case

三:編寫chenkpoint 對應介面Class
import json
from data.checkDataimport *
class test(checkData):
def __init__(self,plan_id,case_id, run_id):
checkData.__init__(self,plan_id,case_id,run_id)
#寫驗證點
def checkpoint1(self):
flag ='False'
checkpoint='驗證是否為1'
datainfo =''
try:
data = json.loads(self.data)
if 1:
flag ='True'
except Exception as e:
flag ='ERROR'
self.saveData(flag,checkpoint,datainfo)
if __name__ =='__main__':
a = test(1,3)
print a.data
四:配置api_case對應chenkpoint

功能列表:
1.HTTP介面支援POST|GET|PUT;
2.case_api與case_api支援繼承使用;
3.case_api支援執行前\後呼叫moudel,實現場景初始化或則獲取業務變化前後資料;
4.moudel start,end 支援重複無上限配置;
5.編寫chenkpoint驗證類支援除錯驗證檢查功能;
6.案例執行支援多執行緒;
7.moudel支援功能[MySQL,redis,mongodb];
8.增加引數維護;引入了全域性引數的概念;依賴整合優先順序高於全域性引數;
9.API繼承介面使用資料${key} = apiResponse.get('key'),目前支援資料結構巢狀獲取;
10.全域性引數使用資料%{key} = keyData.get('key'),目前支援資料結構巢狀獲取;
11.moudel使用資料&{key} = returnData.get('key'),目前只支援json,後期考慮支援list;
思想:
1.基於data與moudel驅動;
2.一個API介面對應有多個API_CASE、實現一個/多個動態CLASS[checkpoint1,checkpoint2,checkpoint3];
3.一個API_CASE對應checkpointX是動態配置,但這些checkpointX都在同一個CLASS;
4.案例執行與驗證分離;
5.全域性引數heades單個key不支援國際化;需要單獨生成兩個/多個key;
基於python,Flask +前端layui
QQ群 號:595471350
總結優點:
1.可以支援介面相互依賴業務;
2.全域性引數中可以把不同角色/許可權使用者token通過moudel提前初始化或則這個測試計劃其它需要做全域性初始化呼叫/實現moudel就可以,可以極大的提升介面執行效率;
3.支援api_case執行前/後呼叫moudel方法去做初始化或則獲取資料,ALL資料在後面編寫對應class都可以輕鬆獲取到和使用[self.data];
4.不同測試計劃與同一個測試計劃都可以支援多執行緒;提升介面執行效率;
5.介面驗證/業務資料檢查驗證可以直接編寫class去實現,可以實現很多業務複雜的驗證,而且class中每一個function就是一個測試點,介面頻繁改動只需要修改/新增function,並且另外一個測試人員接手一個新的介面上手熟悉全面性熟悉成本低(一個或則多個class 一個api_case一個function或則多個function都可以,靈活和空間非常大,把原子彈留給的具體介面驗證實現測試童鞋)。