一、項目背景
因公司項目包含服務器(tomcat、redis、dubbox、zookeeper)和客戶端(android/ios/macos/windows),在測試中會使用Java/C++/OC/多種語言進行開發,增加了測試人員的技術要求,也增加了公司的成本,需要一款使用單一語言支持測試用例開發的框架,但開源框架中沒有找到能夠支撐以上需求的測試框架,所以參照webdriver的模式開發了適應公司項目的基於微服務的分布式自動化測試平台。
二、測試方向
1、服務器端
1)功能測試
a)服務器單獨模塊插樁測試
能Mock被測模塊的上下游依賴模塊,控制數據輸入和檢查數據輸出。
b)服務器模塊間測試
Mock客戶端協議用以驅動服務器運行,控制數據輸入和檢查數據輸出。
2)性能測試
a)單獨模塊性能
復用功能測試模塊插樁夾具,對單獨模塊加壓。
b)整體性能
locust 或Jmeter
2、客戶端
1)API功能測試
提供Platform cross運行能力。
2)UI功能測試
Appnium或ATX
3)性能測試
三、框架要求
1、測試執行可橫向擴展
2、測試資源動態分配(測試資源主動注冊)
3、客戶端測試庫有platform cross能力,測試用例不依賴於客戶端
4、測試用例統一開發語言(Python)
5、接口測試覆蓋率動態可控(Pair)
6、測試數據與測試用例分離
7、框架控制命令無平台依賴性(json)
8、支持服務器間,客戶端與服務器間的協議測試(Rest/Websocket/etc..)
9、支持CI/CD
四、架構圖

