Registros de implementación de la plataforma de pruebas de código abierto MeterSphere en Windows

1. Antecedentes

Recientemente, la compañía quería construir una plataforma de prueba automatizada de interfaz. Sería demasiado trabajo comenzar desde cero, por lo que estaba lista para encontrar una plataforma de código abierto para el desarrollo secundario. Después de varios días de búsqueda, encontró MeterSphere, una -Stop plataforma de pruebas de código abierto, que utiliza java + vue. Cubre muchas funciones como gestión de pruebas, pruebas de interfaz, pruebas de UI y pruebas de rendimiento. Es más satisfactorio experimentarlo primero en la dirección de prueba oficial, así que planeo construirlo. localmente primero.

Dirección del proyecto Github: GitHub - metersphere/metersphere: MeterSphere es una plataforma integral de pruebas continuas de código abierto que protege la calidad del software. Para realizar pruebas, elija MeterSphere.

Documentación oficial: documentación de MeterSphere

Dirección de prueba gratuita: MeterSphere - Professional Testing Cloud

2. Entorno local

  • jdk: 17 (metersphere requiere un mínimo de 11)
  • nodo: v18.15.0
  • mysql: 8.0.33
  • experto: 3.5.4
  • escritorio-acoplador
  • redis, zookeeper, kafka: use docker-desktop para instalar la imagen
  • idea

3.implementación de Windows

3.1 Código de extracción

metersphere: inicio de la aplicación principal, incluido el código front-end y back-end. Como no estoy familiarizado con los microservicios, uso la versión v2.2 sin dividir los microservicios. Dirección de Github

https://github.com/metersphere/metersphere

ms-jmeter-core: dependencia del núcleo de jmeter, elija la misma versión que metersphere, dirección de Github:   https://github.com/metersphere/ms-jmeter-core

Después de extraer los códigos de los dos proyectos anteriores, use idea para abrir y configurar maven y jdk.

3.2 Paquete ms-jmeter-core

Después de configurar maven y jdk del proyecto ms-jmeter-core, es posible que haya errores de complemento en pom.xml, así que no se preocupe.

Ejecute mvn clean install directamente en la Terminal para empaquetar correctamente.

3.3.configuración mysql

 Según la documentación oficial, el código fuente está construido (separación de front-end y back-end): documentación de MeterSphere MeterSphere tiene requisitos para algunos elementos de configuración de la base de datos y es necesario modificar la configuración de datos locales.

Solo modifiqué lo siguiente localmente

max_connections=2000
innodb_buffer_pool_size=1G
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Luego reinicie el servicio mysql en el servicio y cree la base de datos.

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

Nota: Si el servicio mysql no se puede iniciar después de modificar la configuración, puede eliminar NO_AUTO_CREATE_USER en el parámetro sql_mode e iniciarlo nuevamente.

3.4.configuración de meteresfera

Construido de acuerdo con el código fuente de la documentación oficial (separación de front-end y back-end) -Documentación de MeterSphere

Primero cree el archivo \opt\metersphere\conf\metersphere.properties en el directorio raíz del proyecto metersphere.

# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/metersphere_dev?autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456

# kafka 配置,node-controller 以及 data-streaming 服务需要使用 kafka 进行测试结果的收集和处理
kafka.partitions=1
kafka.replicas=1
kafka.topic=JMETER_METRICS
kafka.test.topic=JMETER_TESTS
kafka.bootstrap-servers=localhost:9092
kafka.log.topic=JMETER_LOGS
kafka.report.topic=JMETER_REPORTS

# 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=localhost
spring.redis.port=6379
spring.redis.password=123456

# 启动模式,lcoal 表示以本地开发模式启动
run.mode=local

Copie el archivo de configuración en el directorio backend/src/main/resources/jmeter/bin en el directorio del proyecto a \opt\meter\bin en el directorio raíz del proyecto

Luego modifique las rutas de metersphere.properties en Application.java, logback.xml y generadorConfig.xml.

Modifique jmeter.home en el archivo base.properties

Modificar elementos de inicio de Spring Boot

Marque Acortar línea de comando en la opción desplegable Modificar opciones.

Seleccione el manifiesto JAR - java -cp classpath.jar clessName [argumentos]

3.5 Iniciar el servicio backend

Antes de iniciar el servicio back-end, debe iniciar los servicios redis, zookeeper y kafka. No se describirá en detalle cómo iniciarlos.

Ejecute Application.java para iniciar el servicio backend

Error 1:

程序包io.metersphere.xpack.ui.dto不存在

xpack es un paquete de versión empresarial cuyo uso requiere una tarifa. Simplemente comente todas las dependencias y referencias relacionadas con xpack.

Error 2:

Public Key Retrieval is not allowed

Agregue el parámetro enablePublicKeyRetrieval=true a spring.datasource.url en \opt\metersphere\conf\metersphere.properties, es decir

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

Error 3:

Schema `metersphere_dev` contains a failed migration to version 68

Este error es causado por el error de ejecución del archivo SQL al crear la tabla de la base de datos. Puede encontrar la ruta del proyecto\backend\src\main\resources\db\migration\V68__modify_api_test_case.sql, copiar el sql que contiene a Navicat para su ejecución. y corrija el error. Simplemente reinicie el servicio.

3.6 Iniciar el servicio front-end

En el proyecto de front-end de progreso, ejecute npm install para instalar las dependencias.

Modifique los elementos de configuración en frontend\package.json. Dado que estamos usando una máquina con Windows, necesitamos modificar la exportación a SET y agregar el parámetro --openssl-legacy-provider para resolver el problema de nodejs v17 y superior OpenSSL3.0 permitiendo algoritmos y claves límite de tamaño

Después de la modificación, ejecute npm run build-win para compilar

Después de una compilación exitosa, ejecute npm run server-win para iniciar el servicio backend.

Cuando veas la información anterior significa que se ha iniciado exitosamente, a continuación accede a ella en el navegador.

Utilice la cuenta predeterminada admin/metersphere para iniciar sesión y utilizarla.

Supongo que te gusta

Origin blog.csdn.net/y954227239/article/details/132694147
Recomendado
Clasificación