测试平台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结构

posted on 2022-06-22 13:51  chen_2987  阅读(221)  评论(0)    收藏  举报

导航