You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

企业机器JMeter+Firefox Driver配置启动失败求助

问题解决:JMeter结合Firefox Driver启动失败

问题背景

在企业机器上使用JMeter 5.6.2搭配jp@gc系列插件(Firefox Driver Config和WebDriver Sampler)自动化微软登录页面时,Firefox浏览器无法启动,抛出会话创建异常。

配置信息

  • JMeter版本:5.6.2
  • Selenium-api版本:4.10
  • Gecko-Driver版本:V0.33.0 - X64
  • 已安装插件:Plugins Manager、jp@gc - Firefox Driver Config、jp@gc - WebDriver Sampler
  • Firefox浏览器版本:117.0.1(64位)
  • Firefox安装路径:C:\Users\username\AppData\Local\Mozilla Firefox
  • 限制:企业机器无管理员权限,无法修改浏览器exe位置或系统环境变量
  • 已配置:在JMeter系统属性文件中添加驱动路径 webdriver.gecko.driver=C:/Users/username/Downloads/DriversLatest/geckodriver.exe

报错信息

org.openqa.selenium.SessionNotCreatedException: 无法启动新会话。响应码500。消息:需要浏览器二进制文件路径,但在默认位置找不到,未提供'moz:firefoxOptions.binary'能力参数,命令行也未设置二进制文件标志。

详细错误堆栈

Driver info: org.openqa.selenium.firefox.FirefoxDriver
Command: [null, newSession {capabilities=[Capabilities {acceptInsecureCerts: false, browserName: firefox, moz:debuggerAddress: true, moz:firefoxOptions: {profile: UEsDBBQACAgIAI5QNlcAAAAAAAA...}, proxy: Proxy(system)}]}]
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:140) ~[selenium-remote-driver-4.10.0.jar:?]
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:96) ~[selenium-remote-driver-4.10.0.jar:?]
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:68) ~[selenium-remote-driver-4.10.0.jar:?]
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:163) ~[selenium-remote-driver-4.10.0.jar:?]
at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:196) ~[selenium-remote-driver-4.10.0.jar:?]
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:171) ~[selenium-remote-driver-4.10.0.jar:?]
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:531) ~[selenium-remote-driver-4.10.0.jar:?]
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:227) ~[selenium-remote-driver-4.10.0.jar:?]
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:154) ~[selenium-remote-driver-4.10.0.jar:?]
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:151) ~[selenium-firefox-driver-4.10.0.jar:?]
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:146) ~[selenium-firefox-driver-4.10.0.jar:?]
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:130) ~[selenium-firefox-driver-4.10.0.jar:?]
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:125) ~[selenium-firefox-driver-4.10.0.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.FirefoxDriverConfig.createBrowser(FirefoxDriverConfig.java:36) ~[jmeter-plugins-webdriver-4.10.0.0.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.FirefoxDriverConfig.createBrowser(FirefoxDriverConfig.java:15) ~[jmeter-plugins-webdriver-4.10.0.0.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.getPreparedBrowser(WebDriverConfig.java:221) ~[jmeter-plugins-webdriver-4.10.0.0.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.threadStarted(WebDriverConfig.java:152) ~[jmeter-plugins-webdriver-4.10.0.0.jar:?]
at org.apache.jmeter.threads.JMeterThread$ThreadListenerTraverser.addNode(JMeterThread.java:802) [ApacheJMeter_core.jar:5.6.2]
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:1029) [jorphan.jar:5.6.2]
at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:1012) [jorphan.jar:5.6.2]
at org.apache.jmeter.threads.JMeterThread.threadStarted(JMeterThread.java:770) [ApacheJMeter_core.jar:5.6.2]
at org.apache.jmeter.threads.JMeterThread.initRun(JMeterThread.java:758) [ApacheJMeter_core.jar:5.6.2]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:264) [ApacheJMeter_core.jar:5.6.2]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_351]
2023-09-22 10:04:30,452 ERROR o.a.j.t.JMeterThread: 处理采样器时出错: 'jp@gc - WebDriver Sampler'.
java.lang.IllegalArgumentException: 浏览器未配置。请确保为线程组至少创建一个WebDriverConfig。
at com.googlecode.jmeter.plugins.webdriver.sampler.WebDriverSampler.sample(WebDriverSampler.java:65) ~[jmeter-plugins-webdriver-4.10.0.0.jar:?]
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651) ~[ApacheJMeter_core.jar:5.6.2]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570) ~[ApacheJMeter_core.jar:5.6.2]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501) [ApacheJMeter_core.jar:5.6.2]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268) [ApacheJMeter_core.jar:5.6.2]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_351]

解决方案

由于Firefox安装在非默认路径,且无管理员权限修改系统设置,需手动指定Firefox二进制文件路径:

  1. 打开JMeter中的jp@gc - Firefox Driver Config配置元件
  2. 切换到「Firefox Options」标签页
  3. 在「Binary」输入框中填写Firefox.exe的完整路径:C:\Users\username\AppData\Local\Mozilla Firefox\firefox.exe
  4. 保存配置后重新运行测试

原理:GeckoDriver无法在默认位置定位Firefox,通过moz:firefoxOptions.binary参数明确指定浏览器二进制文件路径,即可解决会话创建失败的问题。

内容的提问来源于stack exchange,提问作者Abanoub Erian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 08:53:09