项目结构

搭建本地环境 

  1. 安装JDK11,配置好JDK环境,系统同时支持JDK8和JDK11
  2. 安装IEAD,配置JDK环境
  3. 配置maven环境,IDEA配置(解压可以直接使用)
  4. 无限重置IDEA试用期
  5. 配置redis环境(解压可以直接使用)
  1. 配置kafka环境
  1. 安装mysql-5.7环境,创建数据库(metersphere)
  2. 替换jar包

ApacheJMeter_core-5.4.3、ApacheJMeter_tcp-5.4.3、ms-jmeter-core-1.2

  1. 安装node环境

配置开发环境

Kafka环境

官网下载kafaka

配置属性文件和环境

启动kafka

cd D:\soft\kafka_2.13-2.8.1\bin\windows>

1.kafka启动脚本和zookeeper启动脚本

zookeeper-server-start.bat ..\..\config\zookeeper.properties

2.运行成功,2181端口,不要关闭窗口

执行命令 kafka-server-start.bat ..\..\config\server.properties

参考文献:https://blog.csdn.net/weixin_43085439/article/details/106403168

Redis环境

后端

MeterSphere 后端使用了 Java 语言的 Spring Boot 框架,并使用 Maven 作为项目管理工具。开发者需要先在开发环境中安装 JDK 1.11 及 Maven。

初始化配置

MeterSphere 使用 MySQL 数据库,推荐使用 MySQL 5.7 版本。同时 MeterSphere 对数据库部分配置项有要求,请参考下附的数据库配置,修改开发环境中的数据库配置文件。

[mysqld]

default-storage-engine=INNODB

lower_case_table_names=1

table_open_cache=128

max_connections=2000

max_connect_errors=6000

innodb_file_per_table=1

innodb_buffer_pool_size=1G

max_allowed_packet=64M

transaction_isolation=READ-COMMITTED

innodb_flush_method=O_DIRECT

innodb_lock_wait_timeout=1800

innodb_flush_log_at_trx_commit=0

sync_binlog=0

server-id=1

log-bin=mysql-bin

expire_logs_days = 2

binlog_format=mixed

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

skip-name-resolve

请参考文档中的建库语句创建 MeterSphere 使用的数据库,metersphere-server 服务启动时会自动在配置的库中创建所需的表结构及初始化数据。

CREATE DATABASE `metersphere` /*!40100 DEFAULT CHARACTER SET utf8mb4 */

METERSPHERE 配置文件

MeterSphere 会默认加载该路径下的配置文件 /opt/metersphere/conf/metersphere.properties,请参考下列配置创建对应目录及配置文件。

# 数据库配置

spring.datasource.url=jdbc:mysql://localhost:3306/metersphere?autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false

spring.datasource.username=root

spring.datasource.password=root

# kafka 配置,node-controller 以及 data-streaming 服务需要使用 kafka 进行测试结果的收集和处理

kafka.partitions=1

kafka.replicas=1

kafka.topic=JMETER_METRICS

kafka.test.topic=JMETER_TESTS

kafka.bootstrap-servers={KAFKA_IP}:9092

kafka.log.topic=JMETER_LOGS

kafka.report.topic=JMETER_REPORT

# node-controller 所使用的 jmeter 镜像版本

jmeter.image=registry.fit2cloud.com/metersphere/jmeter-master:0.0.6

# TCP Mock 端口范围

tcp.mock.port=10000-10010

# Redis 配置

spring.redis.host={REDIS_IP}

spring.redis.port=6379

spring.redis.password=Password123@redis

# 启动模式,lcoal 表示以本地开发模式启动

run.mode=local

JMETER 配置文件

metersphere-server 服务依赖的 JMeter 核心类库需要加载 JMeter 配置文件,默认加载 /opt/jmeter 下的配置文件。

开发者需要先创建好对应文件夹,并将工程目录中 backend/src/main/resources/jmeter/bin 目录下的配置文件拷贝到 /opt/jmeter/bin 目录。

运行后端服务

在启动配置中添加 Spring Boot 启动项,直接启动 Spring Boot 项目即可。

前端

MeterSphere 前端使用了 Vue.js 作为前端框架,ElementUI 作为 UI 框架,并使用 npm 作为包管理工具。开发者请先下载 Node.js 作为运行环境,IDEA 用户建议安装 Vue.js 插件,便于开发。

初始化配置

进入 metersphere-server/frontend/ 目录,执行以下命令安装相关前端组件。

npm install

运行前端服务

进入到 metersphere-server/frontend/ 目录,执行以下命令启动前端服务。

npm run serve

页面效果

 swagger导入接口时处理请求头

meterSphere安装Jenkins并执行(插件对应ms版本)    

配置Key

验证URL和用户

如果jenkins使用 Pipeline,通过脚本配合MeterSphere执行自动化

        stage('执行MS接口用例') {
            steps {
                script {
                    meterSphere msEndpoint:'XXXXXX',
                    msAccessKey:'XXXXXX',
                    msSecretKey:'XXXXXX',
                    workspaceId:'XXXXXX,
                    projectId:'XXXXXX',
                    method:'testPlan',
#触发执行的任务类型(testplan:执行整个测试计划,single:执行指定的某个测试任务);
                    testPlanId:'XXXXXX',#method参数值为testplan时有效;

                    #testCaseId:场景id/接口用例id/性能测试id,method参数值为single时有效;
                    mode:'serial',#执行方式(serial:串行执行,parallel:并行执行);
                    resourcePoolId:'',
                    result:'metersphere'
                }
            }   
        }

文中插件下载地址:

https://download.csdn.net/download/luozhuwang/88759636

https://blog.51cto.com/u_11100758/3217808 

https://blog.csdn.net/weixin_43085439/article/details/106403168    

通过Jenkins Pipeline配合MeterSphere完成自动化接口测试 - FIT2CLOUD 知识库

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐