基於 Jmeter 的 web 端介面自動化測試平臺
阿新 • • 發佈:2019-07-18
簡介
基於之前的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