You need to enable JavaScript to run this app. TestNG下Firefox Driver不执行@Test方法 Chrome运行正常
优惠活动
大模型
产品
解决方案
定价
更多

TestNG下Firefox Driver不执行@Test方法 Chrome运行正常

问题原因分析

你遇到的执行差异核心是@BeforeClass方法内的驱动初始化代码顺序错误:

  • Selenium初始化浏览器驱动的强制要求是:必须先设置对应浏览器驱动路径的系统属性,再实例化对应Driver类,你当前的Firefox初始化代码把两个步骤顺序完全颠倒了。
// 你当前的错误代码顺序
driver = new FirefoxDriver();
System.setProperty("webdriver.gecko.driver", "geckodriver");

上述代码的执行逻辑是:尝试实例化FirefoxDriver时,Selenium还未读取到geckodriver的路径配置,会直接触发运行时异常。TestNG的执行机制中如果@BeforeClass等前置方法抛出未捕获异常,会直接标记当前测试类的所有@Test方法为跳过状态,不会进入@Test的执行流程。
而你的Chrome测试代码必然是先设置webdriver.chrome.driver系统属性、再实例化ChromeDriver,执行逻辑符合要求,所以运行正常,这就是两个浏览器执行表现差异的核心原因。

修复方案

调整@BeforeClass内的代码顺序即可:

@BeforeClass
public void beforeClass() {
    System.out.println("Running TestFireFox Class");
    // 先设置驱动路径系统属性
    System.setProperty("webdriver.gecko.driver", "geckodriver");
    // 再实例化FirefoxDriver
    driver = new FirefoxDriver();
}
补充说明

调整顺序后如果还是无法执行,可核对geckodriver和本地安装的Firefox版本的适配关系,驱动和浏览器版本不兼容也可能触发类似异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 06:18:03