オープンソース テスト プラットフォーム MeterSphere の Windows での導入記録

1.背景

最近、同社はインターフェイスの自動テスト プラットフォームを構築したいと考えていました。ゼロから始めるのは大変な作業なので、二次開発用のオープン ソース プラットフォームを見つける準備ができていました。数日間探した結果、MeterSphere を見つけました。 -stop オープンソース テスト プラットフォーム, using java+vue. テスト管理、インターフェイス テスト、UI テスト、パフォーマンス テストなど多くの機能をカバーしています. まずは公式トライアル アドレスで体験した方が満足なので、構築する予定ですまずは地元で。

プロジェクト Github アドレス: GitHub - metersphere/metersphere: MeterSphere は、ソフトウェアの品質を保護するワンストップのオープンソース継続的テスト プラットフォームです。テストには、MeterSphere を選択してください。

公式ドキュメント: MeterSphere ドキュメント

無料トライアルのアドレス: MeterSphere - Professional Testing Cloud

2. 地域環境

  • jdk: 17 (メータースフィアには最低 11 が必要です)
  • ノード:v18.15.0
  • mysql:8.0.33
  • メイブン:3.5.4
  • ドッカーデスクトップ
  • redis、zookeeper、kafka: docker-desktop を使用してイメージをインストールする
  • アイデア

3.Windowsの展開

3.1. プルコード

metersphere: フロントエンドとバックエンド コードを含むメイン アプリケーションの起動 マイクロサービスに詳しくないため、マイクロサービスを分割せずに v2.2 バージョンを使用します。

https://github.com/metersphere/metersphere

ms-jmeter-core: jmeter コアの依存関係、metersphere と同じバージョンを選択、Github アドレス:   https://github.com/metersphere/ms-jmeter-core

上記 2 つのプロジェクトのコードをプルダウンした後、idea を使用して Maven と JDK を開いて設定します。

3.2. パッケージ ms-jmeter-core

ms-jmeter-core プロジェクトの Maven と JDK を構成した後、pom.xml にプラグイン エラーが存在する可能性がありますが、心配する必要はありません。

ターミナルで mvn clean install を直接実行して、正常にパッケージ化します。

3.3.mysqlの設定

 公式ドキュメントによると、ソースコードのビルド(フロントエンドとバックエンドの分離) - MeterSphere ドキュメントMeterSphere はデータベースの一部の構成項目に要件があり、ローカルのデータ構成を変更する必要があります。

以下をローカルでのみ変更しました

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

次に、サービス内で mysql サービスを再起動し、データベースを作成します

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

注: 設定を変更した後に mysql サービスを開始できない場合は、sql_mode パラメータの NO_AUTO_CREATE_USER を削除して、再度開始できます。

3.4.メートル球の構成

公式ドキュメントのソースコードに従って構築(フロントエンドとバックエンドの分離) - MeterSphere ドキュメント

まず、metersphere プロジェクトのルート ディレクトリに \opt\metersphere\conf\metersphere.properties ファイルを作成します。

# 数据库配置
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

プロジェクト ディレクトリの backend/src/main/resources/jmeter/bin ディレクトリにある構成ファイルを、プロジェクト ルート ディレクトリの \opt\meter\bin にコピーします。

次に、Application.java、logback.xml、generatorConfig.xml の metersphere.properties パスを変更します。

Base.properties ファイル内の jmeter.home を変更します。

Spring Boot のスタートアップ項目を変更する

[オプションの変更] ドロップダウン オプションで [コマンド ラインを短くする] をオンにします。

JAR マニフェストを選択します - java -cp classpath.jar cleassName [args]

3.5. バックエンドサービスの開始

バックエンドサービスを起動する前に、redis、Zookeeper、Kafka サービスを起動する必要がありますが、詳細な起動方法については説明しません。

Application.javaを実行してバックエンドサービスを開始します。

エラー 1:

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

xpack は、使用料が必要なエンタープライズ バージョンのパッケージです。xpack に関連するすべての依存関係と参照をコメント アウトするだけです。

エラー 2:

Public Key Retrieval is not allowed

\opt\metersphere\conf\metersphere.properties の spring.datasource.url に、allowPublicKeyRetrieval=true パラメータを追加します。

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

エラー 3:

Schema `metersphere_dev` contains a failed migration to version 68

このエラーは、データベース テーブルの作成時の SQL ファイルの実行エラーが原因で発生します。プロジェクト パス\backend\src\main\resources\db\migration\V68__modify_api_test_case.sql ファイルを見つけて、その中の SQL を Navicat にコピーして実行します。サービスを再起動するだけでエラーが修正されます

3.6. フロントエンドサービスの開始

Progress フロントエンド プロジェクトで、npm install を実行して依存関係をインストールします。

Frontend\package.json の設定項目を変更します。Windows マシンを使用しているため、nodejs v17 以降の OpenSSL3.0 の問題を解決するには、エクスポートを SET に変更し、--openssl-legacy-provider パラメーターを追加する必要があります。許可するアルゴリズムとキー。サイズ制限

変更後、npm run build-winを実行してコンパイルします。

コンパイルが成功したら、npm runserve-win を実行してバックエンド サービスを開始します。

上記の情報が表示されれば正常に起動できたので、ブラウザでアクセスしてください。

デフォルトのアカウント admin/metersphere を使用してログインして使用します。

おすすめ

転載: blog.csdn.net/y954227239/article/details/132694147