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

求助:Maven命令行执行Selenium/JUnit测试未运行,仅显示BUILD SUCCESS

排查 Maven 执行 mvn clean test 未运行测试用例的问题

1. 检查 Maven Surefire 插件配置

Maven 默认靠 Surefire 插件执行测试,配置不对直接导致测试不跑:

  • 确认 pom.xml 里有没有正确引入适配 JUnit 4 的 Surefire 版本,同时指定测试类的匹配规则:
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.2</version> <!-- 适配JUnit4的稳定版本 -->
            <configuration>
                <includes>
                    <include>**/*Test.java</include> <!-- 对应你的测试类命名,比如如果是*TestCase.java就改这里 -->
                </includes>
            </configuration>
        </plugin>
    </plugins>
</build>
  • 要是你的测试类命名不满足默认规则(比如不是*Test.java或Test*.java),必须在includes里明确写清楚匹配规则。

2. 核对测试类的注解与结构

JUnit 4 对测试类有严格要求,不符合就不会被识别:

  • 测试方法必须标注org.junit.Test注解,而且得是public void类型、无参数
  • 要是用了自定义 Runner,得加@RunWith注解,没特殊需求的话用默认JUnit4.class就行
  • 别搞混 JUnit 版本!要是误导入了 JUnit 5 的org.junit.jupiter.api.Test,JUnit 4 完全认不出来这个方法是测试用例
  • 正确示例:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;

@RunWith(JUnit4.class)
public class LoginTest {
    @Test
    public void testLogin() {
        // 这里写Selenium初始化和测试逻辑
        WebDriver driver = new ChromeDriver();
        driver.get("https://your-test-site.com");
        // ...测试步骤
        driver.quit();
    }
}

3. 确认测试类的目录位置

Maven 规定测试类必须放在src/test/java目录下,要是你把测试类塞到src/main/java里,Surefire 插件直接无视它们。

  • 检查路径:项目根目录/src/test/java/[你的包路径]/测试类.java

4. 查看 Maven 测试详细日志

执行命令时加日志级别,能看到到底有没有识别到测试类:

mvn clean test -X
  • 在日志里搜SurefirePlugin相关内容,看有没有Found test class的记录:
    • 没有的话,说明测试类没被识别,回到前面的配置和目录检查
    • 有记录但没执行,看看是不是开了测试跳过

5. 检查是否开启了测试跳过

  • 看pom.xml里有没有设置全局跳过:
<properties>
    <skipTests>true</skipTests> <!-- 有这个就改成false -->
</properties>
  • 确认命令行有没有传-DskipTests或-Dmaven.test.skip=true参数,这俩都会直接跳过测试。

6. 验证 Selenium 驱动配置

就算测试类执行了,驱动配置错了也可能导致浏览器不启动但没报错:

  • 要么手动指定驱动路径:
System.setProperty("webdriver.chrome.driver", "你的驱动路径/chromedriver.exe");
  • 要么用 WebDriverManager 自动管理(需要在pom.xml加依赖):
WebDriverManager.chromedriver().setup();
  • 注意浏览器版本和驱动版本要匹配:Selenium 3.141.59 适配 Chrome 70-88 左右的版本,别搞版本不兼容的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 08:05:34