测试平台metersphere高级介绍
一、概述
主要整理metersphere的一些问题,及数据表结、构排查问题
二、结构介绍
Node Controller: 为性能测试提供独立节点类型的测试资源池, 接收来自系统的性能测试任务, 动态的启动 JMeter容器完成性能测试。
MySQL: MeterSphere 项目的主要数据均存储在 MySQL。
Redis: MeterSphere 项目登录用户的Session存储在 Redis。
Kafka: 接收 JMeter 产生的接口测试或者性能测试的结果数据。
Prometheus: 收集压力机及被测系统的监控数据。
Data Streaming: 从 Kafka 中获取接口测试或者性能测试结果数据进行处理后存入 MySQL 数据库。
Docker Engine: 为 Node Controller 提供 JMeter 容器运行环境。

. ├── Jenkinsfile # 构建JAR包使用的 jenkinsfile ├── LICENSE ├── OWNERS ├── README.md # 项目中文介绍 ├── README-EN.md # 项目英文介绍 ├── SECURITY.md # 安全说明 ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── build.md # 构建过程 ├──framework │ ├── eureka # 服务注册中心 │ ├── gateway # API 网关 │ ├── sdk-parent # SDK │ ├── .gitignore │ └── pom # 主框架的 pom 文件 ├──test-track # 测试跟踪模块 │ ├── backend # 后端代码目录 │ ├── frontend # 前端代码目录 │ ├── Dockerfile # 构建容器镜像使用的 dockerfile │ └── pom # 测试跟踪模块使用的 pom 文件 ├── api-test # 接口测试模块 │ ├── backend # 后端代码目录 │ ├── frontend # 前端代码目录 │ ├── Dockerfile # 构建容器镜像使用的 dockerfile │ └── pom # 接口测试模块使用的 pom 文件 ├── performance-test # 性能测试模块 │ ├── backend # 后端代码目录 │ ├── frontend # 前端代码目录 │ ├── Dockerfile # 构建容器镜像使用的 dockerfile │ └── pom # 性能测试模块使用的 pom 文件 ├── report-stat # 报表统计模块 │ ├── backend # 后端代码目录 │ ├── frontend # 前端代码目录 │ ├── Dockerfile # 构建容器镜像使用的 dockerfile │ └── pom # 报表统计模块使用的 pom 文件 ├── project-management # 项目管理模块 │ ├── backend # 后端代码目录 │ ├── frontend # 前端代码目录 │ ├── Dockerfile # 构建容器镜像使用的 dockerfile │ └── pom # 项目管理模块使用的 pom 文件 ├── system-setting # 系统设置模块 │ ├── backend # 后端代码目录 │ ├── frontend # 前端代码目录 │ ├── Dockerfile # 构建容器镜像使用的 dockerfile │ └── pom # 系统设置模块使用的 pom 文件 ├── .gitignore ├── .gitmodules └── pom.xml # 整体 maven 项目使用的 pom 文件
三、用法整理
1.查看测试计划的执行报告
#查询计划的报告 select * from test_plan_report where id="0d04ef51-0a9e-4131-b666-da7e8f757a76" #api场景报告表 select * from api_scenario_report #通过测试计划id查询计划关联场景表 select * from test_plan_api_scenario where test_plan_id="21b1e740-06e2-4a16-84ee-5091141422a3" #api场景表 select * from api_scenario where id="f1f4b7e8-251f-4a5f-ba0e-479dff89568f" #api场景报告 select * from api_scenario_report where id="9c74052d-3923-4677-883c-f76f215ac805" #查看计划下的最新一条报告 select * from test_plan_report report INNER JOIN test_plan plan ON report.test_plan_id = plan.id where plan.id="d3c76a2a-68aa-4efb-8ec9-5570acc4a13c" ORDER BY report.create_time desc limit 1 #通过计划id查询最新一条报告下的场景报告 SELECT scen.* FROM test_plan_report planrt INNER JOIN share_info info ON planrt.id = info.custom_data INNER JOIN api_scenario_report scen ON planrt.id = scen.relevance_test_plan_report_id WHERE planrt.id = ( SELECT id FROM test_plan_report WHERE test_plan_id = "d3c76a2a-68aa-4efb-8ec9-5570acc4a13c" ORDER BY create_time DESC LIMIT 1 ) ORDER BY planrt.create_time DESC #报告Id 到队列表中查询队列是否还在(如果为空表示发生过不可控制情况;不为空表示还在执行中) SELECT * from api_execution_queue_detail where report_id = ‘报告ID’;

2.查看日志
tail -fn 500 ms-jmeter-run.log|grep "报告或场景id"
相关连接:
https://blog.csdn.net/ouyicnm/article/details/117233933 ...............................自动化测试平台开发
https://zhuanlan.zhihu.com/p/161961864 ......................................................关键字驱动框架(自动化测试)
https://metersphere.io/docs/v1.20.x-lts/system_arch/#_2 ..............................MS结构
浙公网安备 33010602011771号