zoukankan      html  css  js  c++  java
  • 测试平台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配置类
    

    性能测试运行后端代码简析

    1. 前端点击【保存并运行】
    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) => {
          ......
    
    1. 请求后端/performance/run
    backend/src/main/java/io/metersphere/performance/controller/PerformanceTestController.java
    

    image

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

    image

    1. 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 文件
    

    扫一扫,关注我

  • 相关阅读:
    小酌一下:pipenv 基本用法
    sql2008使用您对无法重新创建的表进行了更改或者启用了“阻止保存重新创建表的更改”
    Join操作基本:外连接、自然连接、内连接
    用dataReader获取datetime类型完整精度的时间字串
    c# MesageBox
    判断当前时间是否在一个时间段内
    c# 根据当前时间获取,本周,本月,本季度,月初,月末,各个时间段
    sql Convert函数
    c# MD5方法总结
    wml跳转
  • 原文地址:https://www.cnblogs.com/hally/p/14186626.html
Copyright © 2011-2022 走看看