在Jumpserver群中,飛致雲旗下的產品,正好安裝試一下,后面可以用來壓測谷粒商城,先簡單的安裝了一下,下面都來自於官網。
[root@iZjd8471u20gpaZ bin]# chmod u+x docker-compose [root@iZjd8471u20gpaZ bin]# cd /tmp/metersphere-release-v1.0.0 [root@iZjd8471u20gpaZ metersphere-release-v1.0.0]# ll total 24 -rw-r--r-- 1 root root 811 Jun 15 12:44 install.conf -rwxr-xr-x 1 root root 3554 Jun 15 12:43 install.sh drwxr-xr-x 5 root root 4096 Jun 15 12:43 metersphere -rwxr-xr-x 1 root root 1880 Jun 16 11:43 msctl -rw-r--r-- 1 root root 954 Jun 15 12:43 quick_start.sh -rw-r--r-- 1 root root 24 Jun 15 12:43 README.md [root@iZjd8471u20gpaZ metersphere-release-v1.0.0]# /bin/bas base64 basename bash bashbug bashbug-64 [root@iZjd8471u20gpaZ metersphere-release-v1.0.0]# /bin/bas base64 basename bash bashbug bashbug-64 [root@iZjd8471u20gpaZ metersphere-release-v1.0.0]# /bin/bash install.sh ln: failed to create symbolic link ‘/usr/bin/msctl’: File exists /usr/bin/docker Docker already installed, skip installation Redirecting to /bin/systemctl start docker.service /usr/local/bin/docker-compose Docker Compose already installed, skip installation Pulling zookeeper ... done Pulling ms-node-controller ... done Pulling kafka ... done Pulling mysql ... done Pulling ms-server ... done Pulling ms-data-streaming ... done /tmp/metersphere-release-v1.0.0 Creating network "metersphere_ms-network" with the default driver Creating volume "metersphere_ms-conf" with default driver Creating volume "metersphere_ms-logs" with default driver Creating volume "metersphere_ms-jmeter-data" with default driver Creating volume "metersphere_ms-mysql-data" with default driver Creating volume "metersphere_ms-zookeeper-data" with default driver Creating volume "metersphere_ms-kafka-data" with default driver Creating ms-node-controller ... done Creating mysql ... done Creating zookeeper ... done Creating kafka ... done Creating ms-data-streaming ... done Creating ms-server ... done [root@iZjd8471u20gpaZ metersphere-release-v1.0.0]# msctl status Name Command State Ports ------------------------------------------------------------------------------------------------------------------------- kafka /opt/bitnami/scripts/kafka ... Up (healthy) 0.0.0.0:19092->19092/tcp, 9092/tcp ms-data-streaming /deployments/run-java.sh Up (healthy) 0.0.0.0:7777->7777/tcp ms-node-controller /deployments/run-java.sh Up (healthy) 0.0.0.0:8082->8082/tcp ms-server /deployments/run-java.sh Up (healthy) 0.0.0.0:8081->8081/tcp mysql docker-entrypoint.sh mysqld Up (healthy) 0.0.0.0:3306->3306/tcp, 33060/tcp zookeeper /opt/bitnami/scripts/zooke ... Up (healthy) 0.0.0.0:2181->2181/tcp, 2888/tcp, 3888/tcp, 8080/tcp [root@iZjd8471u20gpaZ metersphere-release-v1.0.0]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 155c637498e5 registry.cn-qingdao.aliyuncs.com/metersphere/metersphere:v1.0.0 "/deployments/run-ja…" 22 minutes ago Up 22 minutes (healthy) 0.0.0.0:8081->8081/tcp ms-server b73e7d08ae50 registry.cn-qingdao.aliyuncs.com/metersphere/ms-data-streaming:v1.0.0 "/deployments/run-ja…" 22 minutes ago Up 22 minutes (healthy) 0.0.0.0:7777->7777/tcp ms-data-streaming b12bcd4aeda0 registry.cn-qingdao.aliyuncs.com/metersphere/kafka:2 "/opt/bitnami/script…" 23 minutes ago Up 23 minutes (healthy) 9092/tcp, 0.0.0.0:19092->19092/tcp kafka dfd6f3b4846b registry.cn-qingdao.aliyuncs.com/metersphere/zookeeper:3 "/opt/bitnami/script…" 23 minutes ago Up 23 minutes (healthy) 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, 8080/tcp zookeeper cebff993895d registry.cn-qingdao.aliyuncs.com/metersphere/ms-node-controller:v1.0.0 "/deployments/run-ja…" 23 minutes ago Up 23 minutes (healthy) 0.0.0.0:8082->8082/tcp ms-node-controller 1db0f7fad32e registry.cn-qingdao.aliyuncs.com/metersphere/mysql:5.7.25 "docker-entrypoint.s…" 23 minutes ago Up 23 minutes (healthy) 0.0.0.0:3306->3306/tcp, 33060/tcp mysql [root@iZjd8471u20gpaZ metersphere-release-v1.0.0]#
MeterSphere 是一站式的開源企業級持續測試平台,涵蓋測試跟蹤、接口測試、性能測試、團隊協作等功能,兼容JMeter 等開源標准,有效助力開發和測試團隊充分利用雲彈性進行高度可擴展的自動化測試,加速高質量軟件的交付。
界面展示
更多截圖
點擊這里查看更多功能截屏及演示視頻
技術優勢
- Full-Cycle 全生命周期: 能夠覆蓋從測試計划到測試執行、測試報告分析的不同階段
- Automation & Scalability 自動化 & 擴展性: 支持接口和性能的自動化測試,可以充分利用雲彈性實現超大規模的性能測試
- Continuous Test 持續測試: 能夠與持續集成工具無縫集成,支撐企業實現測試左移
- Collaboration 團隊協作: 支持不同規模的測試團隊,小到幾個人的測試團隊、大到數百人的測試中心
主要功能
- 測試跟蹤: 遠超 TestLink 的使用體驗
- 接口測試: 類似 Postman 的體驗, 天然支持團隊協作
- 性能測試: 兼容 JMeter,支持 Kubernetes 和雲環境, 輕松支持高並發、分布式的性能測試
- 系統管理: 用戶管理、租戶管理、權限管理、團隊協作
功能列表
測試跟蹤 | 項目管理 | 多項目支持,測試用例、測試計划與項目關聯 |
測試用例管理 | 在線編輯用例 | |
以樹狀形式展示項目的模塊及其用例 | ||
自定義用例屬性 | ||
快速導入用例到系統 | ||
測試計划跟蹤 | 基於已有用例發起測試計划 | |
在線更新用例執行結果 | ||
靈活的用例分配方式 | ||
在線生成測試報告,支持自定義測試報告模板 | ||
與平台中的接口測試、性能測試功能結合,自動更新關聯用例的結果 | ||
接口測試 | 測試腳本 | 在線編輯接口測試內容 |
支持參數化測試 | ||
靈活多樣的斷言支持 | ||
支持多接口的場景化測試 | ||
通過瀏覽器插件快速錄制測試腳本 | ||
測試報告 | 測試執行后自動生成測試報告 | |
測試報告導出 | ||
性能測試 | 測試腳本 | 完全兼容 JMeter 腳本 |
在線調整壓力參數 | ||
分布式壓力測試 | ||
支持參數化測試 | ||
通過瀏覽器插件快速錄制測試腳本 | ||
測試報告 | 測試執行后自動生成測試報告 | |
豐富的測試報告展現形式 | ||
測試報告導出 | ||
查看測試日志詳情 | ||
系統管理 | 租戶管理 | 支持多級租戶體系 |
支持多種租戶角色 | ||
測試資源管理 | 性能測試資源池管理 | |
郵件通知配置 | ||
集成與擴展 | 完善的 API 列表 | |
支持對接 Jenkins 等持續集成工具 |
快速開始
我們為用戶准備了可以快速部署 MeterSphere 所有組件及所需的中間件的在線安裝腳本, 你可以通過該腳本部署並體驗 MeterSphere 所提供的功能
注意
快速安裝腳本所部署的環境僅適用於測試體驗目的, 生產環境請參考本文檔「在線安裝」章節內容進行部署
部署服務器要求
部署服務器要求
- 操作系統: 任何支持 Docker 的 Linux x64
- CPU/內存: 2核4G(最小)
- 磁盤空間: 20G
- 可訪問互聯網
安裝步驟
執行安裝腳本
以 root 用戶 ssh 登錄目標服務器, 執行如下命令
curl -sSL https://github.com/metersphere/metersphere/releases/latest/download/quick_start.sh | sh
安裝腳本默認使用 /opt/metersphere 目錄作為安裝目錄,MeterSphere 的配置文件、數據及日志等均存放在該安裝目錄
登錄並使用
登錄
安裝成功后,通過瀏覽器訪問如下頁面登錄 MeterSphere
地址: http://目標服務器IP地址:8081
用戶名: admin
密碼: metersphere
界面說明
維護項目信息
- 點擊頁面最上方的「測試跟蹤」菜單,在下方的項目下拉列表中選擇「創建」項目
- 輸入項目基本信息,點擊「確定」按鈕,完成項目創建
跟蹤測試計划
測試用例管理
- 在「測試跟蹤」功能下的「測試用例」下拉列表中,選擇「顯示全部」,彈出項目中的所有測試用例
- 點擊左側用例模塊樹的「新建模塊」按鈕,創建一個新的用例模塊
- 點擊右側列表中的「新建用例」按鈕,在彈出的用例信息編輯頁面中填寫用例基本信息,點擊「確定」完成用例創建
測試計划管理
- 在「測試跟蹤」功能下的「測試計划」下拉列表中,選擇「創建測試計划」,彈出測試計划編輯頁面
- 填寫測試計划的基本信息,並選擇測試計划的所屬項目及測試階段,點擊「確定」按鈕完成測試計划創建
- 在測試計划列表中點擊某一測試計划,進入測試計划詳情頁面
- 點擊右側測試用例列表中的關聯測試用例按鈕,在彈出的測試用例列表中,選擇項目中的測試用例添加至該測試計划
- 添加成功后即可在測試用例列表查看到已添加的測試用例
- 點擊某個測試用例所在行的編輯按鈕,進行測試用例結果更新
- 當所有測試用例結果均更新后,即可點擊用例列表中的查看測試報告按鈕,查看此次測試計划的測試報告
執行接口測試¶
- 在「接口測試」功能下的「測試」下拉列表中,選擇「創建測試」,彈出接口測試編輯頁面
- 在接口測試編輯頁面左上方下拉選擇該測試所屬的項目, 並填寫該接口測試名稱
- 按照測試需求, 編輯測試場景及測試場景中的接口請求詳情
- 信息確認無誤后, 點擊「保存並執行按鈕」
- 系統開始執行該接口測試, 並自動跳轉到本次測試執行對應的測試報告, 在測試報告頁面可查看本次測試的執行結果及每個接口的請求、響應內容
執行性能測試
- 在「性能測試」功能下的「測試」下拉列表中,選擇「創建測試」,彈出性能測試編輯頁面
- 在性能測試編輯頁面左上方下拉選擇該測試所屬的項目, 並填寫該性能測試名稱
- 在「場景配置」頁面上傳已有的 JMeter 測試腳本
- 在「壓力配置」配置本次性能測試的壓力參數, 選擇 「local」資源池進行本次測試
- 信息確認無誤后, 點擊「保存並執行按鈕」
- 系統開始執行該性能測試, 在「報告」下拉列表中選擇「顯示全部」可查看到本次性能測試的執行狀態, 當報告狀態顯示為「已完成」時, 可點擊「查看報告」按鈕查看此次性能測試的報告詳情
整體架構
組件說明
- Frontend: MeterSphere 的前端工程, 基於 vue.js 進行開發
- Backend: MeterSphere 的后端后稱, 基於 Sprint boot 進行開發, 為 MeterSphere 的功能主體
- Chrome plugin: 瀏覽器插件, 錄制 web 訪問請求生成 JMeter 腳本並導入到 MeterSphere 中用於接口測試及性能測試
- Node controller: 為性能測試提供獨立節點類型的測試資源池, 接收來自系統的性能測試任務, 動態的啟動 JMeter 容器完成性能測試
- MySQL: MeterSphere 項目的主要數據均存儲在 MySQL
- Kafka: 接收 JMeter 產生的性能測試結果數據
- Data streaming: 從 Kafka 中獲取性能測試結果數據進行處理后存入 MySQL 數據庫
- Docker engine: 為 Node Controller 提供 JMeter 容器運行環境
各個組件間的關系可參考下圖
管理模型
概念說明
MeterSphere 提供了多租戶、多角色的管理模型, 用戶可根據所在團隊的實際情況進行靈活的租戶體系映射
- 系統: 每個獨立部署的 MeterSphere 即稱為一套系統
- 系統級角色: 角色的權限范圍為整個體統, 常見的角色如系統管理員, 可管理整個系統內的租戶、用戶即測試資源, 同時可變更修改系統級配置參數
- 組織: MeterSphere 中的一級租戶, 可映射為一個公司下的不同部門
- 組織級角色: 角色的權限范圍限定在某個組織當中, 常見的角色如組織管理員, 可管理整個組織內的成員、工作空間及成員等
- 工作空間: MeterSphere 中的二級租戶, 可映射為一個部門下的不同團隊、項目組
- 工作空間級角色: 角色的權限范圍現在在某個工作空間當中, 常見的角色如工作空間管理員及普通用戶, 可在工作空間中創建項目、發起測試、查看測試報告等
安裝參考:https://metersphere.io/docs/installation/online_installation/