升级WebDriver 4.5.0后JMeter 5.5中JavaImporter报错,求解决方案
WebDriver Sampler 4.5.0 + JMeter 5.5 异常解决方法
异常原因
WebDriver Sampler 4.5.0版本起默认使用Groovy作为脚本引擎,而官方文档里的JavaImporter是旧版Rhino JavaScript引擎的专属语法,Groovy不支持该写法,因此抛出MissingPropertyException。
解决方案
方案1:切换回Rhino JavaScript引擎
- 找到JMeter安装目录下的
jmeter.properties配置文件 - 查找并修改
webdriver.sampler.engine配置项,将值改为rhino:webdriver.sampler.engine=rhino - 重启JMeter后,原有的
var pkg = JavaImporter(org.openqa.selenium)代码即可正常执行
方案2:使用Groovy原生语法(推荐)
Groovy性能优于Rhino,且是插件当前默认引擎,直接用Groovy语法编写脚本即可,无需JavaImporter:
// 导入需要的Selenium类 import org.openqa.selenium.By import org.openqa.selenium.WebElement // 获取WebDriver实例 def driver = WDS.browser // 示例:定位输入框并输入文本 WebElement usernameInput = driver.findElement(By.id("username")) usernameInput.sendKeys("your_username") // 示例:定位按钮并点击 WebElement loginBtn = driver.findElement(By.id("login-btn")) loginBtn.click()
- 脚本中可直接使用内置
WDS对象,常用属性包括browser(驱动实例)、log(日志输出)等
注意事项
- 不推荐在Groovy引擎下混用Rhino语法,会导致性能下降且兼容性差
- 后续版本插件可能会逐步淘汰Rhino引擎支持,建议优先迁移到Groovy语法
内容的提问来源于stack exchange,提问作者vlatko606
相关产品推荐
相关产品推荐

