线程“主”中的加特林错误异常java.lang.NoClassDefFoundError:io / gatling / charts / component / impl / ComponentLibraryImpl

问题描述

我是加特林负载测试的新手。

1。程序从“运行”配置抛出错误时运行,未找到要在目标中执行的目标

gatling:test -Dgatling.simulationClass = RestAPITest.GetRequest.scala

2。项目从Scala引擎运行,但图表未生成错误异常消息,如线程“ main” java.lang.NoClassDefFoundError:io / gatling / charts / component / impl / ComponentLibraryImpl 休闲> strong>

enter image description here

//测试代码如下

<?xml version="1.0"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>WOW_CT_PT</groupId>

    <artifactId>WOW_CT_PT</artifactId>

    <version>1.0.0-SNAPSHOT</version>

    <properties>
        <scala.version>2.12.10</scala.version>
        <gatling.version>3.3.1</gatling.version>
    </properties>

    <repositories>
        <repository>
            <id>scala-tools.org</id>
            <name>Scala-Tools Maven2 Repository</name>
            <url>http://scala-tools.org/repo-releases</url>
        </repository>
    </repositories>

    <dependencies>
    <dependency>
      <groupId>io.gatling</groupId>
      <artifactId>gatling-test-framework</artifactId>
      <version>3.3.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.gatling/gatling-core -->
    <dependency>
      <groupId>io.gatling</groupId>
      <artifactId>gatling-core</artifactId>
      <version>3.3.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.gatling.highcharts/gatling-highcharts -->
    <dependency>
      <groupId>io.gatling.highcharts</groupId>
      <artifactId>gatling-highcharts</artifactId>
      <version>3.3.1</version>
      <type>pom</type>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.gatling.highcharts/gatling-charts-highcharts -->
<dependency>
    <groupId>io.gatling.highcharts</groupId>
    <artifactId>gatling-charts-highcharts</artifactId>
    <version>3.4.0</version>
</dependency>   
    </dependencies>

    <build>
        <testSourceDirectory>src/test/scala</testSourceDirectory>
        <plugins>
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.3.1</version>
                <configuration>
                    <scalaVersion>2.11.8</scalaVersion>
                </configuration>
            </plugin>
            <plugin>
                <groupId>io.gatling</groupId>
                <artifactId>gatling-maven-plugin</artifactId>
                <version>2.2.3</version>
                <executions>
                    <execution>
                        <id>performanceTests</id>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                        <configuration>
                            <simulationClass>simulations.SimulationClass</simulationClass>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>


import io.gatling.core.Predef._

import io.gatling.http.Predef._

class GetRequest extends Simulation {

    val httpProtocol = http
        .baseUrl("http://dummy.restapiexample.com/") // Here is the root for all relative URLs

    val scn = scenario(scenarioName = "Axiom gate request")
        .exec(http(requestName = "get request")
            .get("api/v1/employees")
        )
        .pause(duration = 5)

    setUp(
        scn.inject(atOnceUsers(users = 1))
    ).protocols(httpProtocol)
}

解决方法

在出现错误消息后,我假设您尚未导入依赖项gatling-charts-highcharts。您可以将其添加到Maven:

<dependency>
    <groupId>io.gatling.highcharts</groupId>
    <artifactId>gatling-charts-highcharts</artifactId>
    <version>3.3.1</version>
</dependency>

只需将版本号调整为当前的加特林版本即可。