基於 Jmeter 的 web 端接口自動化測試平臺
阿新 • • 發佈:2019-03-13
數據庫名 擴展 前端 更新 db文件 導入項目 nload highlight 命令行
簡介
基於之前的react+unittest+flask的接口自動化平臺開發經驗,和趟過的坑,我重新開發了這個接口自動化平臺。
平臺前端采用的antd+dva+umi的antd-pro模板,結合平臺業務設計開發。後端采用的flask+sqlalchemy+Blueprint,結構化更加清晰,ORM的數據庫操作更加穩定。自動化腳本的執行部分,我采用的是擴展性和針對性更強的jmeter。
demo
框架
功能點
- 批量導入har包生成接口用例
- 接口用例分組樹形展示
- 用例編輯失焦自動保存
- 用例編寫提供快捷調試模塊
- 支持多類型參數,json+文本兩種校驗
- 支持同一個項目中接口參數傳遞
- 提供即時任務+每日定時任務兩種任務集
- 全局cookie管理,全局默認參數,全局請求頭設置
- 可編排的用例執行順序
- 測試報告、簡要性能結果圖表化展示
- 定時任務執行結果圖表化展示,持續監控
- 首頁展示系統全局概要信息
- docker一鍵部署,啟動自動同步更新
組件
首頁
項目管理
定時任務列表
新建任務
新建用例&&調試
即時任務報告
定時任務報告
安裝
前提:
- 一個已經在跑的MySQL數據庫
- 有個IAT庫已經導入項目sql ( db文件在IAT/server/db_sql/IAT.sql 先新建一個數據庫名字為IAT,在導入上面sql即可。)
有特殊網絡要求的,可以download代碼編譯部署。如果服務器能連上外網,可以直接通過我已經封裝的docker鏡像安裝。
方法1:Docker鏡像安裝
- 我的鏡像中開啟了ssh服務,你可以通過掛載宿主機的一個端口來登錄容器,默認賬號為:root,密碼為:root
- 前端我掛載的是8089,看個人需要設置
- 命令行末尾參數,需要指定已經配置好的MySQL
docker命令安裝
已知Centos安裝的容器會有異常,建議使用其他系統。
優化了原來的容器時區問題,已經啟動了的同學也不必擔心,把原來的容器停止後,再創建個新的即可,數據是取得數據庫,不會變。
# docker run --env PATH=/root/apache-jmeter-5.0/bin:$PATH -t -i -d -p 8089:80 -p 9022:22 --name=iat6 ownerworld/iat:0.0.6 /bin/start.sh "root:[email protected]:3306"
方法2:編譯安裝
這種需要你有一定的運維基礎和開發經驗。默認你已有node和python環境。
下載代碼
$ git clone https://github.com/t880216t/IAT.git
安裝前端依賴
$ cnpm i
打包前端
$ npm run build
生成的dist文件夾便是前端部署文件
後端
服務端代碼在server文件夾中,用的python flask框架不需要打包,建議用gunicorn啟動。(確保你已經在server文件夾中)
$ pip install -r requirements.txt
$ gunicorn -w4 -b 0.0.0.0:5000 run:app
基於 Jmeter 的 web 端接口自動化測試平臺