需求分析
需求點 | 需求分析 |
---|---|
通過 yaml 配置接口操作和用例 | 后續新增接口和測試用例只需要編寫 yaml 文件即可實現。 |
可以支持接口間的參數傳遞 | 具有參數依賴的接口可以進行變量的抽取和參數賦值。 |
支持全局、用例維度的變量存儲 | 比如時間截命名法中要用到的時間截后綴。 |
支持用例軟斷言 | 斷言不應該使測試中斷,可以在測試執行后統一的進行斷言。 |
支持報告的輸出 | 可以復用 Junit5 和 allure2 成熟框架生成測試報告。 |
支持自動生成 yaml 文件 | 除了手動編寫 yaml 腳本外,還可以通過解析 har 文件,自動生成測試用例。 |
開發設計
分層與抽象
技術選型
功能 | 所選技術 |
---|---|
單元測試框架 | Junit5 |
斷言 | Hamcrest |
接口測試 | Rest-Assured |
yaml 讀取與生成 | Jackson |
har 解析 | Har-Reader |
測試報告 | Allure-Junit5 |
主要類設計
https://www.processon.com/view/link/622cd08e0e3e7407da4427bc
測試文件設計
測試用例文件:
接口文件:
工程目錄設計
工程實現
github 地址
https://github.com/juno3550/ApiAutoTestFramework
運行示例
工程根目錄下執行:
# 運行項目測試
mvn clean test
# 查看 allure 結果報告
allure serve target/allure-results
測試報告示例: