测试平台MeterSphere源码入门
前端代码结构
├── package.json #Vue的模块依赖定义
├── pom.xml #Maven前后端打包的定义与依赖
├── public
├── src #前端核心代码
│ ├── assets #静态图片资源
│ ├── business
│ │ ├── App.vue #根组件
│ │ ├── components #功能页面目录
│ │ │ ├── api #接口测试
│ │ │ ├── common #公共和主框架
│ │ │ ├── performance #性能测试
│ │ │ ├── project #项目管理
│ │ │ ├── settings #系统设置
│ │ │ ├── track #测试跟踪
│ │ │ └── xpack #商业化功能
│ │ ├── index.html #主页,项目入口
│ │ ├── main.js #入口文件
│ │ ├── permission.js
│ │ └── store.js
│ ├── common #静态资源
│ │ ├── css
│ │ └── js
│ ├── i18n #国际化
│ └── login #登录
│ ├── Login.vue
│ ├── login.html
│ └── login.js
├── vue.config.js #vue配置类
性能测试运行后端代码简析
- 前端点击【保存并运行】
frontend/src/business/components/performance/test/EditPerformanceTest.vue
saveAndRun() {
......
this.result = this.$request(options, (response) => {
this.test.id = response.data;
this.$success(this.$t('commons.save_success'));
this.result = this.$post(this.runPath, {id: this.test.id, triggerMode: 'MANUAL'}, (response) => {
......
- 请求后端/performance/run
backend/src/main/java/io/metersphere/performance/controller/PerformanceTestController.java

# 启动前会检查kafka是否可用
PerformanceTestService.checkKafka()
# 守护进程等待压测任务完成,刷新数据库数据
PerformanceNoticeTask.registerNoticeTask(LoadTestReportWithBLOBs)
- 请求node-controller
#使用jmeter容器发起压测请求,结果数据会保存到kafka
PerformanceTestService.startEngine(LoadTestWithBLOBs, Engine, String)
DockerTestEngine.start()
......
String uri = String.format(BASE_URL + "/jmeter/container/start", nodeIp, port);
......

- data-streaming项目消费kafka数据
生成测试结果数据 load_test_report_detail和load_test_report_result
修改数据库中testId的测试状态
registerNoticeTask轮休数据库状态变化完成压力测试
官方代码结构
├── Dockerfile # 构建容器镜像使用的 dockerfile
├── LICENSE
├── README.md
├── ROADMAP.md
├── backend # 后端项目主目录
│ ├── backend.iml
│ ├── pom.xml # 后端 maven 项目使用的 pom 文件
│ └── src # 后端代码目录
├── frontend # 前端项目主目录
├── babel.config.js
│ ├── frontend.iml
│ ├── node
│ ├── node_modules
│ ├── package-lock.json
│ ├── package.json
│ ├── pom.xml # 前端 maven 项目使用的 pom 文件
│ ├── public
│ └── src # 前端代码目录
├── metersphere-server.iml
└── pom.xml # 整体 maven 项目使用的 pom 文件
扫一扫,关注我
测试平台MeterSphere源码入门的更多相关文章
- [图解tensorflow源码] 入门准备工作附常用的矩阵计算工具[转]
[图解tensorflow源码] 入门准备工作 附常用的矩阵计算工具[转] Link: https://www.cnblogs.com/yao62995/p/5773142.html tensorf ...
- Linux平台下源码安装mysql多实例数据库
Linux平台下源码安装mysql多实例数据库[root@linux-node1 ~]# netstat -tlunp | grep 330tcp6 0 0 :::3306 :::* LISTEN 6 ...
- SiteServer CMS 5.0 源码入门
开发者中心 STL 语言 文 档 博 客 论 坛 Github 二次开发 提示:文档中心正在完善中,我们将不断发布新文档,敬请期待... 新手入门 SiteServer CMS 能做什么 Site ...
- Android8.1 MTK平台 SystemUI源码分析之 网络信号栏显示刷新
SystemUI系列文章 Android8.1 MTK平台 SystemUI源码分析之 Notification流程 Android8.1 MTK平台 SystemUI源码分析之 电池时钟刷新 And ...
- Spring源码入门——DefaultBeanNameGenerator解析 转发 https://www.cnblogs.com/jason0529/p/5272265.html
Spring源码入门——DefaultBeanNameGenerator解析 我们知道在spring中每个bean都要有一个id或者name标示每个唯一的bean,在xml中定义一个bean可以指 ...
- 学习版pytest内核测试平台开发万字长文入门篇
前言 2021年,测试平台如雨后春笋般冒了出来,我就是其中一员,写了一款pytest内核测试平台,在公司落地.分享出来后,有同学觉得挺不错,希望能开源,本着"公司代码不要传到网上去,以免引起 ...
- [图解tensorflow源码] 入门准备工作
tensorflow使用了自动化构建工具bazel.脚本语言调用c或cpp的包裹工具swig.使用EIGEN作为矩阵处理工具.Nvidia-cuBLAS GPU加速计算库.结构化数据存储格式prot ...
- 实战 | 源码入门之Faster RCNN
前言 学习深度学习和计算机视觉,特别是目标检测方向的学习者,一定听说过Faster Rcnn:在目标检测领域,Faster Rcnn表现出了极强的生命力,被大量的学习者学习,研究和工程应用.网上有很多 ...
- 部署zabbix监控平台(源码安装)
案例:部署Zabbix监控平台 1 问题 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 安装LNMP环境 源码安装Zabbix 安装监控端主机,修改基本 ...
随机推荐
- Contest 982
A 直接模拟即可,为了方便边界判断建议用 !=. 时间复杂度 \(O\left(n\right)\). B \(w\) 排序来处理内向者,坐人后丢进大根堆来处理外向者. 时间复杂度 \(O\left( ...
- 【POJ 1845】Sumdiv——数论 质因数 + 分治 + 快速幂
(题面来自luogu) 题目描述 输入两个正整数a和b,求a^b的所有因子之和.结果太大,只要输出它对9901的余数. 输入格式 仅一行,为两个正整数a和b(0≤a,b≤50000000). 输出格式 ...
- try...catch的前世今生
1975年, John Goodenough发表论文,提出异常处理的建议: 一是明确声明命令可能抛出何种异常: 二是需要有将可能出错的操作括起来的语句结构. Communications of the ...
- 编曲技巧:使用FL Studio来制作停顿的效果
停顿效果是一种在音乐创作中非常常用的音效,它能起到缓冲的作用,而且能使这段旋律更具节奏感,在比较激情的歌曲中尤为常见.例如知名歌手王力宏演唱的<火力全开>中就使用了停顿效果,为歌曲加了不少 ...
- MySQL全面瓦解13:系统函数相关
概述 提到MySQL的系统函数,我们前面有使用过聚合函数,其实只是其中一小部分.MySQL提供很多功能强大.方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,并更加灵活地满足不同用 ...
- 华为交换机eNSP删除Vlan的详细步骤
设备支持批量删除VLAN和单个删除VLAN两种方式: 单个删除VLAN10 <HUAWEI> system-view [HUAWEI] undo vlan 10 批量删除VLAN10到VL ...
- spring aop 、Redis实现拦截重复操作
一.问题:项目中有一些重复操作的情况,比如: 1.从场景有用户快速点击提交按钮,或者postMan测试时快速点击 2.从业务上来说,用户注册.用户下单等 3.黑客攻击 二.解决办法 1.使用sprin ...
- CoProcessFunction实战三部曲之二:状态处理
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- PyQt(Python+Qt)学习随笔:model/view架构中QTableView视图的数据无法显示问题
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在使用QTableView来显示如下数据时: 在model中插入数据是使用如下类似代码: for c ...
- Google浏览器PostMan插件版安装步骤
PostMan插件版安装步骤: 第一步:把下载后的.crx扩展名的离线Chrome插件的文件扩展名改成.zip或者.rar 第二步:右键点击该文件,并使用压缩软件(如winrar.360压缩等)对该压 ...
