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

基於 Jmeter 的 web 端接口自動化測試平臺

數據庫名 擴展 前端 更新 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 端接口自動化測試平臺