![](/img/trans.png)
[英]Error -- test(org.apache.jmeter.protocol.java.sampler.JUnitSampler$AnnotatedTestCase): unknown error: unable to discover open pages
[英]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.