首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jmeter 2.1.0- NonGUIDriver java.lang.IllegalArgumentException中的错误

Jmeter 2.1.0- NonGUIDriver java.lang.IllegalArgumentException中的错误
EN

Stack Overflow用户
提问于 2017-03-20 23:57:23
回答 1查看 843关注 0票数 1

这个问题在这篇文章中被试图回答:NonGUIDriver java.lang.IllegalArgumentException中的in误差但是这个解决方案不起作用,想知道是否还有其他的解决方案或者可以澄清这个解决方案.

我正在尝试运行Jmeter插件(版本2.1.0)来运行我的J抄脚本,这个脚本是用J抄的3.1版编写的。我按照这里提到的所有说明https://github.com/jmeter-maven-plugin/jmeter-maven-plugin来创建pom.xml文件。

当我执行以下maven命令时:

代码语言:javascript
复制
mvn clean verify -Denv=prod -Djmx.filename={the_name_of_my_jmx_file}

我得到以下两个错误:

1

代码语言:javascript
复制
[INFO] Invalid value detected for <postTestPauseInSeconds>.  Setting pause to 0...

2

代码语言:javascript
复制
[INFO] Error in NonGUIDriver java.lang.IllegalArgumentException: Problem loading XML from: {path to my jmx file} missing class com.thoughtworks.xstream.converters.ConversionException: 
    [INFO] ---- Debugging information ----
    [INFO] cause-exception     : com.thoughtworks.xstream.converters.ConversionException
    [INFO] cause-message       : 
    [INFO] first-jmeter-class  : org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67)
    [INFO] class               : org.apache.jmeter.save.ScriptWrapper
    [INFO] required-type       : org.apache.jorphan.collections.ListedHashTree
    [INFO] converter-type      : org.apache.jmeter.save.ScriptWrapperConverter
    [INFO] path                : /jmeterTestPlan/hashTree/hashTree/hashTree/hashTree[2]/kg.apc.jmeter.reporters.LoadosophiaUploader
    [INFO] line number         : 2051
    [INFO] version             : 3.1 r1770033

我使用的pom.xml文件在这里:

">http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0

代码语言:javascript
复制
    <groupId>com.company.testframework</groupId>
    <artifactId>test-project-performance</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Performance test script for project</name>

    <properties>
        <jmeter.version>3.1</jmeter.version>
        <jmeter.maven.plugin>2.1.0</jmeter.maven.plugin>
        <!-- <jmeter.maven.plugin>1.10.1</jmeter.maven.plugin> -->
        <jmeter.plugins.standard>1.1.3</jmeter.plugins.standard>
        <jmeter.plugins.extras>1.3.1</jmeter.plugins.extras>
        <!-- <jmeter.plugins.extras>1.4.0</jmeter.plugins.extras> -->
        <env>prod</env>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>properties-maven-plugin</artifactId>
                <version>1.0.0</version>
                <executions>
                    <execution>
                        <phase>initialize</phase>
                        <goals>
                            <goal>read-project-properties</goal>
                        </goals>
                        <configuration>
                            <files>
                                <file>src/test/resources/conf/${env}.properties</file>
                            </files>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>${jmeter.maven.plugin}</version>
                <executions>
                    <execution>
                        <id>jmeter-tests</id>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <jmeterVersion>${jmeter.version}</jmeterVersion>
                    <resultsFileFormat>xml</resultsFileFormat>
                    <testResultsTimestamp>false</testResultsTimestamp>
                    <suppressJMeterOutput>false</suppressJMeterOutput>
                    <ignoreResultFailures>false</ignoreResultFailures>
                    <overrideRootLogLevel>INFO</overrideRootLogLevel>
                    <downloadExtensionDependencies>false</downloadExtensionDependencies>
                    <jmeterExtensions>
                        <artifact>kg.apc:jmeter-plugins:pom:1.3.1</artifact>
                    </jmeterExtensions>
                    <propertiesUser>
                        <environment>${env}</environment>
                        <jtl_file_name>${jmx.filename}.jtl</jtl_file_name>
                        <project_build_directory>${project.build.directory}</project_build_directory>
                        <!-- Project Specific Properties -->
                        <main_threads>${main.threads}</main_threads>
                        <rampup_seconds>${rampup.seconds}</rampup_seconds>
                        <duration_seconds>${duration.seconds}</duration_seconds>
                        <host_url>${host.url}</host_url>
                        <user_name>${user.name}</user_name>
                        <user_password>${user.password}</user_password>
                        <offer_id>${offer.id}</offer_id>
                    </propertiesUser>
                    <propertiesJMeter>
                        <jmeter.save.saveservice.autoflush>true</jmeter.save.saveservice.autoflush>
                        <jmeter.save.saveservice.output_format>csv</jmeter.save.saveservice.output_format>
                        <jmeter.save.saveservice.assertion_results_failure_message>false</jmeter.save.saveservice.assertion_results_failure_message>
                        <jmeter.save.saveservice.data_type>true</jmeter.save.saveservice.data_type>
                        <jmeter.save.saveservice.label>true</jmeter.save.saveservice.label>
                        <jmeter.save.saveservice.response_code>true</jmeter.save.saveservice.response_code>
                        <jmeter.save.saveservice.successful>true</jmeter.save.saveservice.successful>
                        <jmeter.save.saveservice.thread_name>true</jmeter.save.saveservice.thread_name>
                        <jmeter.save.saveservice.time>true</jmeter.save.saveservice.time>
                        <jmeter.save.saveservice.assertions>true</jmeter.save.saveservice.assertions>
                        <jmeter.save.saveservice.latency>true</jmeter.save.saveservice.latency>
                        <jmeter.save.saveservice.bytes>true</jmeter.save.saveservice.bytes>
                        <jmeter.save.saveservice.url>true</jmeter.save.saveservice.url>
                        <jmeter.save.saveservice.thread_counts>false</jmeter.save.saveservice.thread_counts>
                        <jmeter.save.saveservice.sample_count>false</jmeter.save.saveservice.sample_count>
                        <jmeter.save.saveservice.timestamp_format>ms</jmeter.save.saveservice.timestamp_format>
                        <jmeter.save.saveservice.timestamp_format>yyyy/MM/dd HH:mm:ss.SSS</jmeter.save.saveservice.timestamp_format>
                        <httpclient4.retrycount>3</httpclient4.retrycount>
                        <httpsampler.await_termination_timeout>60</httpsampler.await_termination_timeout>
                        <http.socket.timeout>20000</http.socket.timeout>
                    </propertiesJMeter>
                    <testFilesIncluded>
                        <jMeterTestFile>${jmx.filename}.jmx</jMeterTestFile>
                    </testFilesIncluded>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>kg.apc</groupId>
                        <artifactId>jmeter-plugins-standard</artifactId>
                        <version>${jmeter.plugins.standard}</version>
                    </dependency>
                    <dependency>
                        <groupId>kg.apc</groupId>
                        <artifactId>jmeter-plugins-extras-libs</artifactId>
                        <version>${jmeter.plugins.extras}</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
</project>
EN

回答 1

Stack Overflow用户

发布于 2017-03-21 05:47:03

根据向类路径中添加其他库

您可以使用configuration元素向JMeter的lib/ext目录中添加任何其他Java库。这将使用Eclipse库来执行依赖性解析。

因此,只要做以下工作就足够了:

代码语言:javascript
复制
<configuration>
    <jmeterExtensions>
        <artifact>kg.apc:jmeter-plugins:pom:1.3.1</artifact>
    </jmeterExtensions>
</configuration>

不需要通过dependencies部分添加手动依赖项,而且您在dependencies中指定了版本1.1.3,在jmeterExtensions中指定了版本1.3.1

最后,您的上传程序无法工作,因为它已经被BM.Sense uploader所取代,因此我建议切换到插件版本1.4.0。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42916106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档