0

我正在尝试使用 java 代码将 RemoteDriverConfig 元素添加到现有的 JMeter 测试中,然后继续在我现有的 selenium 集线器和节点上运行 JMeter 测试。我不想在 JMeter 或类似的东西中编写 selenium 测试,只是使用节点来运行 API JMeter 测试。当我创建一个新的“RemoteDriverConfig”对象以添加到 Jmeter 测试时,我收到以下错误:“消息:java.lang.NoClassDefFoundError:org/openqa/selenium/remote/SessionNotFoundException”。

这是一个代码片段(仅使用 chrome 作为功能):

import com.googlecode.jmeter.plugins.webdriver.config.RemoteDriverConfig;

RemoteDriverConfig seleniumHubConfig = new RemoteDriverConfig();
seleniumHubConfig.setCapability(RemoteCapability.CHROME);
seleniumHubConfig.setSeleniumGridUrl(remoteUrl);
testPlanTree.add("remoteDriverConfig", seleniumHubConfig);

非常感谢任何和所有帮助。

编辑:这是进口清单

<dependency>
    <groupId>org.apache.jmeter</groupId>
    <artifactId>ApacheJMeter_core</artifactId>
    <version>3.3</version>
</dependency>
<dependency>
    <groupId>org.apache.jmeter</groupId>
    <artifactId>ApacheJMeter_components</artifactId>
    <version>3.3</version>
</dependency>
<dependency>
    <groupId>org.apache.jmeter</groupId>
    <artifactId>jorphan</artifactId>
    <version>3.3</version>
</dependency>
<dependency>
    <groupId>org.apache.jmeter</groupId>
    <artifactId>ApacheJMeter_java</artifactId>
    <version>3.3</version>
</dependency>
<dependency>
    <groupId>org.apache.jmeter</groupId>
    <artifactId>ApacheJMeter_http</artifactId>
    <version>3.3</version>
</dependency>
<dependency>
    <groupId>kg.apc</groupId>
    <artifactId>jmeter-plugins-webdriver</artifactId>
    <version>2.2</version>
    </dependency>
4

1 回答 1

0

根据NoClassDefFoundError JavaDoc

如果 Java 虚拟机或 ClassLoader 实例尝试加载类的定义(作为正常方法调用的一部分或作为使用 new 表达式创建新实例的一部分)并且找不到类的定义,则抛出此异常。

我的期望是您的 JMeter WebDriver Sampler Plugin安装已损坏或不完整,因为您似乎只是在CLASSPATH中缺少一些Selenium核心库。

如果您尝试从 JMeter 执行此操作 - 我建议安装干净的 JMeter 实例(在JMeter 下载页面获取最新版本)并通过JMeter 插件管理器添加 WebDriver 支持- 它会自动处理依赖项。

于 2017-12-11T05:43:05.067 回答