我想在我的Java应用程序中使用Jmeter随机函数(${__RandomString(10,0123456789,Value)})
进行负载测试。
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_functions</artifactId>
<version>4.0</version>
</dependency>
如果我将ApacheJMeter_functions
jar添加到类路径中,则它可以正常工作,但是如果我使用Maven依赖项,则不能正常工作。
注意:如果我将jar添加到没有版本名称的类路径中,效果很好。
pom:
<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>
<artifactId>performance-api</artifactId>
<version>0.1</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web-services</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_http</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_functions</artifactId>
<version>4.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Response when added ApacheJMeter_functions jar to class path without version name
Response when added ApacheJMeter_functions dependency jar into pom
答案 0 :(得分:1)
以下解决方案帮助我解决了问题
在Java代码中使用Jmeter函数时,Jmeter尝试将Java类路径中与函数相关的类与'search_path'中的类进行比较(从罐子中读取类)< / em>。因此,只有在两个路径(Jmeter的每个函数都有单独的类)中都存在必需的函数类时,Jmeter函数才起作用。
这就是为什么我们需要确保将pom 中添加的'ApacheJMeter_functions'jar(将在类路径中添加),并将jmeter函数jar的路径设置为 search_path'。两者应具有相同的版本。
但是对于Spring Boot应用程序,除了向pom添加依赖项之外,我们还需要将jmeter函数jar的路径显式附加到如下所示的类路径
System.setProperty("java.class.path", System.getProperty("java.class.path") + PathToJmeterFunctionJars );