我正在尝试使用java代码将RemoteDriverConfig元素添加到现有的JMeter测试中,然后继续在我现有的selenium hub和节点上运行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>
答案 0 :(得分:0)
根据NoClassDefFoundError JavaDoc
如果Java虚拟机或ClassLoader实例尝试加载类的定义(作为普通方法调用的一部分或作为使用新表达式创建新实例的一部分),则抛出该类,并且没有类的定义可以被发现。
我的期望是您的JMeter WebDriver Sampler Plugin安装已损坏或不完整,因为您似乎错过了Selenium中的某些CLASSPATH核心库。
如果您尝试从JMeter执行此操作 - 我建议安装干净的JMeter实例(在JMeter Downloads页面上获取最新版本)并通过JMeter Plugins Manager添加WebDriver支持 - 它将自动处理依赖项。