无法解决类异常:com.blazemeter.jmeter.RandomCSVDataSetConfig
CannotResolveClassException: com.blazemeter.jmeter.RandomCSVDataSetConfig
我正在构建一个 Maven 项目来执行多个 Web 服务的性能测试,这是 jmeter-maven-plugin.
之后的内容
但是我运行遇到了一个问题,基本上是maven找不到RandomCSVDataSetConfig
class。我在其中包含在我的 pom 文件中。
如果您知道为什么会发生这种情况,请分享您的见解。
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>automation.ares</groupId>
<artifactId>vu-ares</artifactId>
<version>1.0.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>com.blazemeter</groupId>
<artifactId>jmeter-plugins-random-csv-data-set</artifactId>
<version>0.6</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.8.6</version>
<configuration>
<!--specifying this will make the build fail if the fail percentage is more than that.-->
<errorRateThresholdInPercent>10</errorRateThresholdInPercent>
<testResultsTimestamp>false</testResultsTimestamp>
<propertiesJMeter>
<BUILD_TAG>${project.version}</BUILD_TAG>
<!--Specifying the number of threads passed to the test plan-->
<threads>7</threads>
<duration>30</duration>
</propertiesJMeter>
<jmeterExtensions>
<artifact>kg.apc:jmeter-plugins-casutg:2.6</artifact>
</jmeterExtensions>
<excludedArtifacts>
<exclusion>org.slf4j:slf4j-nop</exclusion>
<exclusion>avalon-framework:*</exclusion>
<exclusion>org.apache.tika:*</exclusion>
<exclusion>excalibur-datasource:excalibur-datasource</exclusion>
<exclusion>excalibur-instrument:excalibur-instrument</exclusion>
<exclusion>excalibur-logger:excalibur-logger</exclusion>
<exclusion>excalibur-pool:*</exclusion>
<exclusion>org.beanshell:bsh:jar:2.0b5</exclusion>
</excludedArtifacts>
<jMeterProcessJVMSettings>
<arguments>
<argument>-XX:MaxMetaspaceSize=256m</argument>
<argument>-Xmx1024m</argument>
<argument>-Xms1024m</argument>
</arguments>
</jMeterProcessJVMSettings>
</configuration>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
<execution>
<id>check-results</id>
<phase>verify</phase>
<goals>
<goal>results</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
日志看起来像:
2019-02-21 10:56:50,616 INFO o.a.j.u.JMeterUtils: Setting Locale to en_US
2019-02-21 10:56:50,647 INFO o.a.j.JMeter: Loading user properties from: user.properties
2019-02-21 10:56:50,648 INFO o.a.j.JMeter: Loading system properties from: system.properties
2019-02-21 10:56:50,652 INFO o.a.j.JMeter: Copyright (c) 1998-2019 The Apache Software Foundation
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: Version 5.1 r1853635
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: java.version=1.8.0_191
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: java.vm.name=Java HotSpot(TM) 64-Bit Server VM
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: os.name=Mac OS X
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: os.arch=x86_64
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: os.version=10.13.6
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: file.encoding=UTF-8
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: java.awt.headless=true
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: Max memory =1029177344
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: Available Processors =8
2019-02-21 10:56:50,657 INFO o.a.j.JMeter: Default Locale=English (United States)
2019-02-21 10:56:50,657 INFO o.a.j.JMeter: JMeter Locale=English (United States)
2019-02-21 10:56:50,657 INFO o.a.j.JMeter: JMeterHome=/Users/xxxx/bitbucket/vuares/target/jmeter
2019-02-21 10:56:50,657 INFO o.a.j.JMeter: user.dir =/Users/xxxx/bitbucket/vuares/target/jmeter/bin
2019-02-21 10:56:50,657 INFO o.a.j.JMeter: PWD =/Users/xxxx/bitbucket/vuares/target/jmeter/bin
2019-02-21 10:56:50,664 INFO o.a.j.JMeter: IP: 10.66.181.102 Name: vuitm08phtd7.local FullName: 10.66.181.102
2019-02-21 10:56:50,667 INFO o.a.j.JMeter: Setting property 'jmeter.reportgenerator.outputdir' to:'/Users/xxxx/bitbucket/vuares/target/jmeter/reports/StudentServiceK8sTestPlan'
2019-02-21 10:56:50,669 INFO o.a.j.s.FileServer: Default base='/Users/xxxx/bitbucket/vuares/target/jmeter/bin'
2019-02-21 10:56:50,674 INFO o.a.j.s.FileServer: Set new base='/Users/xxxx/bitbucket/vuares/target/jmeter/testFiles'
2019-02-21 10:56:50,824 INFO o.a.j.s.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2
2019-02-21 10:56:50,845 INFO o.a.j.s.SaveService: Using SaveService properties file encoding UTF-8
2019-02-21 10:56:50,850 INFO o.a.j.s.SaveService: Using SaveService properties version 5.0
2019-02-21 10:56:50,856 INFO o.a.j.s.SaveService: Loading file: /Users/xxxx/bitbucket/vuares/target/jmeter/testFiles/StudentServiceK8sTestPlan.jmx
2019-02-21 10:56:50,931 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/html is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2019-02-21 10:56:50,931 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for application/xhtml+xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2019-02-21 10:56:50,931 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for application/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2019-02-21 10:56:50,932 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2019-02-21 10:56:50,932 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser
2019-02-21 10:56:50,932 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser
2019-02-21 10:56:50,948 ERROR o.a.j.JMeter: Error in NonGUIDriver
java.lang.IllegalArgumentException: Problem loading XML from:'/Users/xxxx/bitbucket/vuares/target/jmeter/testFiles/StudentServiceK8sTestPlan.jmx'.
Cause:
CannotResolveClassException: com.blazemeter.jmeter.RandomCSVDataSetConfig
Detail:com.thoughtworks.xstream.converters.ConversionException:
---- Debugging information ----
cause-exception : com.thoughtworks.xstream.converters.ConversionException
cause-message :
first-jmeter-class : org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67)
class : org.apache.jmeter.save.ScriptWrapper
required-type : org.apache.jmeter.save.ScriptWrapper
converter-type : org.apache.jmeter.save.ScriptWrapperConverter
path : /jmeterTestPlan/hashTree/hashTree/com.blazemeter.jmeter.RandomCSVDataSetConfig
line number : 360
version : 5.1 r1853635
-------------------------------
at org.apache.jmeter.save.SaveService.readTree(SaveService.java:459) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at org.apache.jmeter.save.SaveService.loadTree(SaveService.java:432) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at org.apache.jmeter.JMeter.runNonGui(JMeter.java:999) [ApacheJMeter_core-5.1.jar:5.1 r1853635]
at org.apache.jmeter.JMeter.startNonGui(JMeter.java:986) [ApacheJMeter_core-5.1.jar:5.1 r1853635]
at org.apache.jmeter.JMeter.start(JMeter.java:563) [ApacheJMeter_core-5.1.jar:5.1 r1853635]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_191]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_191]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_191]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_191]
at org.apache.jmeter.NewDriver.main(NewDriver.java:253) [ApacheJMeter-5.1.jar:5.1 r1853635]
Caused by: com.thoughtworks.xstream.converters.ConversionException:
---- Debugging information ----
cause-exception : com.thoughtworks.xstream.converters.ConversionException
cause-message :
first-jmeter-class : org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67)
class : org.apache.jmeter.save.ScriptWrapper
required-type : org.apache.jmeter.save.ScriptWrapper
converter-type : org.apache.jmeter.save.ScriptWrapperConverter
path : /jmeterTestPlan/hashTree/hashTree/com.blazemeter.jmeter.RandomCSVDataSetConfig
line number : 360
version : 5.1 r1853635
-------------------------------
at org.apache.jmeter.save.ScriptWrapperConverter.createConversionException(ScriptWrapperConverter.java:102) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at org.apache.jmeter.save.ScriptWrapperConverter.unmarshal(ScriptWrapperConverter.java:96) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1487) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1467) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1338) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.SaveService.readTree(SaveService.java:449) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
... 9 more
Caused by: com.thoughtworks.xstream.converters.ConversionException:
---- Debugging information ----
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message : com.blazemeter.jmeter.RandomCSVDataSetConfig
class : org.apache.jorphan.collections.ListedHashTree
required-type : org.apache.jorphan.collections.ListedHashTree
converter-type : org.apache.jmeter.save.converters.HashTreeConverter
path : /jmeterTestPlan/hashTree/hashTree/com.blazemeter.jmeter.RandomCSVDataSetConfig
line number : 360
-------------------------------
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:77) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:132) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.ScriptWrapperConverter.unmarshal(ScriptWrapperConverter.java:94) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1487) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1467) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1338) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.SaveService.readTree(SaveService.java:449) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
... 9 more
Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: com.blazemeter.jmeter.RandomCSVDataSetConfig
at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:81) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:79) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:74) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.SecurityMapper.realClass(SecurityMapper.java:71) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.SaveService$XStreamWrapper.realClass(SaveService.java:98) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:47) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:131) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:132) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.ScriptWrapperConverter.unmarshal(ScriptWrapperConverter.java:94) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1487) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1467) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1338) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.SaveService.readTree(SaveService.java:449) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
... 9 more
更新:
我找到了一种使用插件文档的方法 here
这可以通过将 jar 添加到 /lib/ext 目录来完成,如下所示:
+---+
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>${jmeter.plugin.version}</version>
<configuration>
<!--specifying this will make the build fail if the fail percentage is more than that.-->
<errorRateThresholdInPercent>10</errorRateThresholdInPercent>
<testResultsTimestamp>false</testResultsTimestamp>
<propertiesJMeter>
<BUILD_TAG>${project.version}</BUILD_TAG>
<!--Specifying the number of threads passed to the test plan-->
<threads>100</threads>
<duration>30</duration>
</propertiesJMeter>
<jmeterExtensions>
<artifact>kg.apc:jmeter-plugins-casutg:2.6</artifact>
<artifact>com.blazemeter:jmeter-plugins-random-csv-data-set:0.6</artifact>
</jmeterExtensions>
<excludedArtifacts>
<exclusion>org.slf4j:slf4j-nop</exclusion>
<exclusion>avalon-framework:*</exclusion>
<exclusion>org.apache.tika:*</exclusion>
<exclusion>excalibur-datasource:excalibur-datasource</exclusion>
<exclusion>excalibur-instrument:excalibur-instrument</exclusion>
<exclusion>excalibur-logger:excalibur-logger</exclusion>
<exclusion>excalibur-pool:*</exclusion>
<exclusion>org.beanshell:bsh:jar:2.0b5</exclusion>
</excludedArtifacts>
<jMeterProcessJVMSettings>
<arguments>
<argument>-XX:MaxMetaspaceSize=256m</argument>
<argument>-Xmx1024m</argument>
<argument>-Xms1024m</argument>
</arguments>
</jMeterProcessJVMSettings>
</configuration>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
<execution>
<id>check-results</id>
<phase>verify</phase>
<goals>
<goal>results</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
+---+
我正在构建一个 Maven 项目来执行多个 Web 服务的性能测试,这是 jmeter-maven-plugin.
之后的内容但是我运行遇到了一个问题,基本上是maven找不到RandomCSVDataSetConfig
class。我在其中包含在我的 pom 文件中。
如果您知道为什么会发生这种情况,请分享您的见解。
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>automation.ares</groupId>
<artifactId>vu-ares</artifactId>
<version>1.0.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>com.blazemeter</groupId>
<artifactId>jmeter-plugins-random-csv-data-set</artifactId>
<version>0.6</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.8.6</version>
<configuration>
<!--specifying this will make the build fail if the fail percentage is more than that.-->
<errorRateThresholdInPercent>10</errorRateThresholdInPercent>
<testResultsTimestamp>false</testResultsTimestamp>
<propertiesJMeter>
<BUILD_TAG>${project.version}</BUILD_TAG>
<!--Specifying the number of threads passed to the test plan-->
<threads>7</threads>
<duration>30</duration>
</propertiesJMeter>
<jmeterExtensions>
<artifact>kg.apc:jmeter-plugins-casutg:2.6</artifact>
</jmeterExtensions>
<excludedArtifacts>
<exclusion>org.slf4j:slf4j-nop</exclusion>
<exclusion>avalon-framework:*</exclusion>
<exclusion>org.apache.tika:*</exclusion>
<exclusion>excalibur-datasource:excalibur-datasource</exclusion>
<exclusion>excalibur-instrument:excalibur-instrument</exclusion>
<exclusion>excalibur-logger:excalibur-logger</exclusion>
<exclusion>excalibur-pool:*</exclusion>
<exclusion>org.beanshell:bsh:jar:2.0b5</exclusion>
</excludedArtifacts>
<jMeterProcessJVMSettings>
<arguments>
<argument>-XX:MaxMetaspaceSize=256m</argument>
<argument>-Xmx1024m</argument>
<argument>-Xms1024m</argument>
</arguments>
</jMeterProcessJVMSettings>
</configuration>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
<execution>
<id>check-results</id>
<phase>verify</phase>
<goals>
<goal>results</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
日志看起来像:
2019-02-21 10:56:50,616 INFO o.a.j.u.JMeterUtils: Setting Locale to en_US
2019-02-21 10:56:50,647 INFO o.a.j.JMeter: Loading user properties from: user.properties
2019-02-21 10:56:50,648 INFO o.a.j.JMeter: Loading system properties from: system.properties
2019-02-21 10:56:50,652 INFO o.a.j.JMeter: Copyright (c) 1998-2019 The Apache Software Foundation
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: Version 5.1 r1853635
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: java.version=1.8.0_191
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: java.vm.name=Java HotSpot(TM) 64-Bit Server VM
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: os.name=Mac OS X
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: os.arch=x86_64
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: os.version=10.13.6
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: file.encoding=UTF-8
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: java.awt.headless=true
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: Max memory =1029177344
2019-02-21 10:56:50,653 INFO o.a.j.JMeter: Available Processors =8
2019-02-21 10:56:50,657 INFO o.a.j.JMeter: Default Locale=English (United States)
2019-02-21 10:56:50,657 INFO o.a.j.JMeter: JMeter Locale=English (United States)
2019-02-21 10:56:50,657 INFO o.a.j.JMeter: JMeterHome=/Users/xxxx/bitbucket/vuares/target/jmeter
2019-02-21 10:56:50,657 INFO o.a.j.JMeter: user.dir =/Users/xxxx/bitbucket/vuares/target/jmeter/bin
2019-02-21 10:56:50,657 INFO o.a.j.JMeter: PWD =/Users/xxxx/bitbucket/vuares/target/jmeter/bin
2019-02-21 10:56:50,664 INFO o.a.j.JMeter: IP: 10.66.181.102 Name: vuitm08phtd7.local FullName: 10.66.181.102
2019-02-21 10:56:50,667 INFO o.a.j.JMeter: Setting property 'jmeter.reportgenerator.outputdir' to:'/Users/xxxx/bitbucket/vuares/target/jmeter/reports/StudentServiceK8sTestPlan'
2019-02-21 10:56:50,669 INFO o.a.j.s.FileServer: Default base='/Users/xxxx/bitbucket/vuares/target/jmeter/bin'
2019-02-21 10:56:50,674 INFO o.a.j.s.FileServer: Set new base='/Users/xxxx/bitbucket/vuares/target/jmeter/testFiles'
2019-02-21 10:56:50,824 INFO o.a.j.s.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2
2019-02-21 10:56:50,845 INFO o.a.j.s.SaveService: Using SaveService properties file encoding UTF-8
2019-02-21 10:56:50,850 INFO o.a.j.s.SaveService: Using SaveService properties version 5.0
2019-02-21 10:56:50,856 INFO o.a.j.s.SaveService: Loading file: /Users/xxxx/bitbucket/vuares/target/jmeter/testFiles/StudentServiceK8sTestPlan.jmx
2019-02-21 10:56:50,931 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/html is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2019-02-21 10:56:50,931 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for application/xhtml+xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2019-02-21 10:56:50,931 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for application/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2019-02-21 10:56:50,932 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2019-02-21 10:56:50,932 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser
2019-02-21 10:56:50,932 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser
2019-02-21 10:56:50,948 ERROR o.a.j.JMeter: Error in NonGUIDriver
java.lang.IllegalArgumentException: Problem loading XML from:'/Users/xxxx/bitbucket/vuares/target/jmeter/testFiles/StudentServiceK8sTestPlan.jmx'.
Cause:
CannotResolveClassException: com.blazemeter.jmeter.RandomCSVDataSetConfig
Detail:com.thoughtworks.xstream.converters.ConversionException:
---- Debugging information ----
cause-exception : com.thoughtworks.xstream.converters.ConversionException
cause-message :
first-jmeter-class : org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67)
class : org.apache.jmeter.save.ScriptWrapper
required-type : org.apache.jmeter.save.ScriptWrapper
converter-type : org.apache.jmeter.save.ScriptWrapperConverter
path : /jmeterTestPlan/hashTree/hashTree/com.blazemeter.jmeter.RandomCSVDataSetConfig
line number : 360
version : 5.1 r1853635
-------------------------------
at org.apache.jmeter.save.SaveService.readTree(SaveService.java:459) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at org.apache.jmeter.save.SaveService.loadTree(SaveService.java:432) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at org.apache.jmeter.JMeter.runNonGui(JMeter.java:999) [ApacheJMeter_core-5.1.jar:5.1 r1853635]
at org.apache.jmeter.JMeter.startNonGui(JMeter.java:986) [ApacheJMeter_core-5.1.jar:5.1 r1853635]
at org.apache.jmeter.JMeter.start(JMeter.java:563) [ApacheJMeter_core-5.1.jar:5.1 r1853635]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_191]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_191]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_191]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_191]
at org.apache.jmeter.NewDriver.main(NewDriver.java:253) [ApacheJMeter-5.1.jar:5.1 r1853635]
Caused by: com.thoughtworks.xstream.converters.ConversionException:
---- Debugging information ----
cause-exception : com.thoughtworks.xstream.converters.ConversionException
cause-message :
first-jmeter-class : org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67)
class : org.apache.jmeter.save.ScriptWrapper
required-type : org.apache.jmeter.save.ScriptWrapper
converter-type : org.apache.jmeter.save.ScriptWrapperConverter
path : /jmeterTestPlan/hashTree/hashTree/com.blazemeter.jmeter.RandomCSVDataSetConfig
line number : 360
version : 5.1 r1853635
-------------------------------
at org.apache.jmeter.save.ScriptWrapperConverter.createConversionException(ScriptWrapperConverter.java:102) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at org.apache.jmeter.save.ScriptWrapperConverter.unmarshal(ScriptWrapperConverter.java:96) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1487) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1467) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1338) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.SaveService.readTree(SaveService.java:449) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
... 9 more
Caused by: com.thoughtworks.xstream.converters.ConversionException:
---- Debugging information ----
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message : com.blazemeter.jmeter.RandomCSVDataSetConfig
class : org.apache.jorphan.collections.ListedHashTree
required-type : org.apache.jorphan.collections.ListedHashTree
converter-type : org.apache.jmeter.save.converters.HashTreeConverter
path : /jmeterTestPlan/hashTree/hashTree/com.blazemeter.jmeter.RandomCSVDataSetConfig
line number : 360
-------------------------------
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:77) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:132) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.ScriptWrapperConverter.unmarshal(ScriptWrapperConverter.java:94) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1487) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1467) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1338) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.SaveService.readTree(SaveService.java:449) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
... 9 more
Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: com.blazemeter.jmeter.RandomCSVDataSetConfig
at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:81) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:79) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:74) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.SecurityMapper.realClass(SecurityMapper.java:71) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.SaveService$XStreamWrapper.realClass(SaveService.java:98) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:47) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:131) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:132) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.ScriptWrapperConverter.unmarshal(ScriptWrapperConverter.java:94) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1487) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1467) ~[xstream-1.4.11.jar:1.4.11]
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1338) ~[xstream-1.4.11.jar:1.4.11]
at org.apache.jmeter.save.SaveService.readTree(SaveService.java:449) ~[ApacheJMeter_core-5.1.jar:5.1 r1853635]
... 9 more
更新:
我找到了一种使用插件文档的方法 here
这可以通过将 jar 添加到 /lib/ext 目录来完成,如下所示:
+---+
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>${jmeter.plugin.version}</version>
<configuration>
<!--specifying this will make the build fail if the fail percentage is more than that.-->
<errorRateThresholdInPercent>10</errorRateThresholdInPercent>
<testResultsTimestamp>false</testResultsTimestamp>
<propertiesJMeter>
<BUILD_TAG>${project.version}</BUILD_TAG>
<!--Specifying the number of threads passed to the test plan-->
<threads>100</threads>
<duration>30</duration>
</propertiesJMeter>
<jmeterExtensions>
<artifact>kg.apc:jmeter-plugins-casutg:2.6</artifact>
<artifact>com.blazemeter:jmeter-plugins-random-csv-data-set:0.6</artifact>
</jmeterExtensions>
<excludedArtifacts>
<exclusion>org.slf4j:slf4j-nop</exclusion>
<exclusion>avalon-framework:*</exclusion>
<exclusion>org.apache.tika:*</exclusion>
<exclusion>excalibur-datasource:excalibur-datasource</exclusion>
<exclusion>excalibur-instrument:excalibur-instrument</exclusion>
<exclusion>excalibur-logger:excalibur-logger</exclusion>
<exclusion>excalibur-pool:*</exclusion>
<exclusion>org.beanshell:bsh:jar:2.0b5</exclusion>
</excludedArtifacts>
<jMeterProcessJVMSettings>
<arguments>
<argument>-XX:MaxMetaspaceSize=256m</argument>
<argument>-Xmx1024m</argument>
<argument>-Xms1024m</argument>
</arguments>
</jMeterProcessJVMSettings>
</configuration>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
<execution>
<id>check-results</id>
<phase>verify</phase>
<goals>
<goal>results</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
+---+