繁体   English   中英

无法解析类异常:org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy

[英]CannotResolveClassException: org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy

当我尝试通过 java 代码从 eclipse 运行 JMX 文件时,我收到如下错误代码和错误。

我尝试通过添加插件管理器。

<!-- https://mvnrepository.com/artifact/kg.apc/jmeter-plugins-manager -->
<dependency>
    <groupId>kg.apc</groupId>
    <artifactId>jmeter-plugins-manager</artifactId>
    <version>1.3</version>
</dependency>

package com.blazemeter.demo;

import org.apache.jmeter.engine.StandardJMeterEngine;
import org.apache.jmeter.save.SaveService;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.collections.HashTree;

import com.thoughtworks.xstream.XStream;

import java.io.File;
import java.io.FileInputStream;

public class RunTest {

    public static void main(String[] argv) throws Exception {
        // JMeter Engine
        StandardJMeterEngine jmeter = new StandardJMeterEngine();


        // Initialize Properties, logging, locale, etc.
        JMeterUtils.loadJMeterProperties("C:/Users/Public/softwares/apache-jmeter-5.0/bin/jmeter.properties");
        JMeterUtils.setJMeterHome("C:/Users/Public/softwares/apache-jmeter-5.0");
        JMeterUtils.initLogging();// you can comment this line out to see extra log messages of i.e. DEBUG level
        JMeterUtils.initLocale();

        // Initialize JMeter SaveService
        SaveService.loadProperties();

        // Load existing .jmx Test Plan
        File in = new File("C:\\Users\\Public\\SampleRun.jmx");
        HashTree testPlanTree = SaveService.loadTree(in);
        in.exists();

        // Run JMeter Test
        jmeter.configure(testPlanTree);
        jmeter.run();
    }
}

ERROR StatusLogger No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property 'log4j2.debug' to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2
    Exception in thread "main" java.lang.IllegalArgumentException: Problem loading XML from:'C:\Users\Public\SampleRun.jmx'. 
    Cause:
    CannotResolveClassException: org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy

 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/hashTree/HTTPSamplerProxy
line number         : 29
version             : 5.1.1 r1855137
-------------------------------
    at org.apache.jmeter.save.SaveService.readTree(SaveService.java:459)
    at org.apache.jmeter.save.SaveService.loadTree(SaveService.java:432)
    at com.blazemeter.demo.RunTest.main(RunTest.java:63)
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/hashTree/HTTPSamplerProxy
line number         : 29
version             : 5.1.1 r1855137
-------------------------------

您的pom.xml文件似乎缺少ApacheJMeter_http 依赖项

最小的依赖集是:

<dependencies>
    <dependency>
        <groupId>org.apache.jmeter</groupId>
        <artifactId>ApacheJMeter_java</artifactId>
        <version>5.1.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.jmeter</groupId>
        <artifactId>ApacheJMeter_http</artifactId>
        <version>5.1.1</version>
    </dependency>
</dependencies>

如果您的测试依赖于其他测试元素,您需要找到所需的库并将其显式声明为项目依赖项。

参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM