1. 程式人生 > >基於 Jmeter 的 web 端介面自動化測試平臺

基於 Jmeter 的 web 端介面自動化測試平臺

簡介

基於之前的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