基於 HttpRunner + Django + Vue + Element UI 的介面自動化測試平臺,生產可用
專案地址
https://github.com/tahitimoon/LunarLink
幫助文件
https://lunar-link-docs.fun
平臺簡介
基於 HttpRunner + Django + Vue + Element UI 的介面自動化測試平臺,生產可用。
此外,非常感謝 花菜。沒有 AnotherFasterRunner 就不會有 LunarLink :)
技術棧
- [x] 🎨 Django
- [x] 🎶 Django Rest framework
- [x] 🎉 Vue.js
- [x] 🎃 Element UI
- [x] 🏐 django-celery-beat(定時任務)
- [x] 🎲 Nginx(反向代理,https 配置等)
- [x] 👟 HttpRunner(測試用例執行引擎)
- [x] 🔒 RabbitMQ
- [x] 🚚 Redis
- [x] 💎 MySQL
- [x] ⛏ Docker
功能模組
- 登入:賬號認證、使用者管理、許可權管理
- 專案管理:新增專案、列表展示及相關操作,支援專案看板,顯示專案每日、每週、每月不同維度資料
- 專案概覽:專案基本資訊,API、測試用例、任務執行總覽,每日明細
- API 模板:一個 API 對應後端一個 HTTP 介面,API 可以單獨執行,也可以作為一個用例步驟,支援 API 分組、引數提取、資料斷言、變數引用、前後置鉤子函式、介面除錯、日誌顯示
- 介面匯入:支援同步 YApi(以 YApi 做媒介間接支援 Swagger、Postman、Har),無需手動錄入介面
- 測試用例:支援分組管理,由一個或多個 API 組成,支援關聯介面的動態引數傳遞,不區分場景用例和單介面用例,支援同步、非同步批次執行,生成測試報告
- 配置管理:自定義不同配置的請求 base_url 地址,公共請求頭引數、區域性變數、前後置鉤子函式、引數化內容,API 和用例可以選擇不同配置執行
- 全域性變數:定義變數供 API 使用,變數值也可以引用驅動程式碼中的函式,通用賬號、秘鑰可以定義在此處
- 驅動程式碼:支援 Python 指令碼,定義前後置鉤子函式、輔助函式可以輕鬆實現請求引數簽名,加密和解密響應等功能
- 定時任務:可設定定時任務,遵循 crontab 表示式,可線上開啟、關閉,用例執行支援序列、並行,完成後測試報告推送企業微信
- 歷史報告:儲存定時、除錯、非同步等不同型別的測試報告,可線上檢視、篩選、刪除,還可檢視他人測試報告
線上體驗
👩👧👦 演示地址:http://47.119.28.171:8081
- 體驗賬號:test
- 密碼:test2023
準備工作
Python >= 3.9.5 (推薦3.9.x版本)
nodejs >= 16.0 (推薦最新)
Mysql >= 5.7.0 (推薦5.7.x版本)
RabbitMQ >= 3.x-management(預設需要,推薦最新版)
Redis >= 6.2.6
前端 ♝
建議使用 yarn,專案提供了yarn.lock
,使用其他包管理器,容易出現版本依賴問題。
# 克隆專案
git clone https://github.com/tahitimoon/LunarLink.git
# 進入專案目錄
cd LunarLink/frontend
# 安裝依賴
yarn install --registry=https://registry.npmmirror.com
# 啟動服務
yarn start
# 瀏覽器訪問 http://127.0.0.1:8888
# config/index.js 檔案可配置啟動埠等引數
# config/dev.env.js 檔案可配置後端介面地址
# config/prod.env.js 檔案保持不變
# 構建生產環境
# yarn build
後端 💈
# 克隆專案
git https://github.com/tahitimoon/LunarLink.git
# 進入專案目錄
cd LunarLink/backend
# 將.env.example檔案重新命名為.env 並配置相關引數
mv .env.example .env
# 安裝依賴環境
pip3 install -r requirements.txt
# 執行遷移命令:
python3 manage.py makemigrations
python3 manage.py migrate
# 建立管理員使用者
python3 manage.py createsuperuser
# 啟動專案
python3 manage.py runserver
# 開啟流量錄製代理
python3 proxy.py
訪問專案
# 登入管理後臺,設定賬號姓名
http://127.0.0.1:8000/admin/
# 瀏覽器開啟
http://127.0.0.1:8888
使用者/密碼:管理員使用者/密碼
# 介面文件地址
http://127.0.0.1:8000/swagger/
開啟定時/非同步任務
# 啟動celery,在控制檯執行
celery -A backend worker -B --loglevel=info
演示圖 ✅
相關文章
- 基於 HttpRunner 的介面自動化測試平臺宣講 (已落地)HTTP
- Django 介面自動化測試平臺Django
- UI 自動化測試平臺UI
- 基於 Django 和 Vue 前後端分離介面自動化平臺DjangoVue後端
- 基於 Django 的 Dubbo 介面測試工具平臺Django
- 基於 Springboot+vue 的介面自動化平臺Spring BootVue
- [opendx] 基於 appium 的移動端 UI 自動化測試平臺-介紹篇APPUI
- 基於PhantomFlow的自動化UI測試UI
- 基於 Springboot+vue 的介面自動化平臺 (二)Spring BootVue
- dmonitor 基於 Django 的輕量級生產環境介面監控平臺Django
- 自動化測試平臺
- Django+Vue+Docker搭建介面測試平臺實戰DjangoVueDocker
- 使用 httprunner 做為自動化測試平臺執行引擎還是爽,感謝 httprunner 作者HTTP
- 基於LINUX平臺的自動化測試的研究與應用
- Linux下搭建介面自動化測試平臺Linux
- 一種基於 cypress 的 UI 自動化測試框架UI框架
- 基於 RF 的 WEB 版自動管理測試平臺Web
- 基於Element-UI的Vue管理後臺搭建UIVue
- 自動化測試系列 —— UI自動化測試UI
- 基於vue-element UI 後臺管理平臺 踩坑記錄( 一 )VueUI
- 各位測試大佬可有實用的介面自動化測試平臺推薦?
- 關於Web端-UI自動化測試WebUI
- 介面自動化測試的覆蓋和 Diff 平臺的悖論
- API自動化測試平臺,高效實現對API的自動化測試API
- 基於LangChain手工測試用例轉介面自動化測試生成工具LangChain
- API自動化測試平臺,支援場景化的API測試API
- 軟體測試、自動化測試極容易產生的誤區
- 介面自動化測試
- 基於 Htte 的 API 自動化測試API
- 關於 ui 自動化測試 driver 疑問?UI
- DRF + vue + request + selenium 自動化測試平臺,它來了Vue
- 基於Vue+element-ui 的Table樹VueUI
- 自動化測試系列(三)|UI測試UI
- Apifox(1)比postman更優秀的介面自動化測試平臺APIPostman
- 【吐槽】低程式碼的介面自動化測試平臺不好用
- 基於 Springboot+layui 實現介面自動化平臺Spring BootUI
- (jenkins)hudson平臺搭建android專案持續化整合以及基於NativeDriver的UI自動化測試環境JenkinsAndroidUI
- 基於 Pytest+Requests+Allure 實現介面自動化測試