java - 我是 Selenium 新手,但为什么 Maven 会跳过我的测试并告诉我构建成功?

标签 java eclipse maven selenium-webdriver automation

过去 3 小时我一直在尝试运行单个 MyTest.java 文件。但无论我尝试什么,Maven 似乎都想跳过我的测试并告诉我BUILD SUCCESS。但我并没有尝试 build 任何东西。我只是想“Maven 测试”。

当我单独运行 MyTest.java 时,它运行良好,但由于某种原因 Maven 想跳过它。

这是我写的。

package SeleniumT;

import org.testng.annotations.Test;

public class MyTest {

    @Test
    public void login() {
        //return "sample";
        System.out.println("########This is my first Maven project#######");
    }
}

我的控制台输出一直显示没有任何内容可编译,这毫无意义。

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building maven-demo 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ maven-demo ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ maven-demo ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ maven-demo ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ maven-demo ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ maven-demo ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.287 s
[INFO] Finished at: 2018-02-15T17:27:11-05:00
[INFO] Final Memory: 10M/245M
[INFO] ------------------------------------------------------------------------

我的 POM 文件具有运行此文件所需的所有依赖项。我认为我没有 Maven Surefire 插件,但我认为这不会导致问题。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>SeleniumT</groupId>
  <artifactId>maven-demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
  <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>2.43.0</version>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>6.8</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

什么可能导致 Maven 跳过我的简单 Java 测试?

Maven folder structure

最佳答案

首先,我注意到您的 java 文件名为 apptest.java,但实际的公共(public)类定义名为 MyTest。将 java 文件重命名为 MyTest.java。这样的差异通常会引发编译错误,这让我相信您的 Eclipse 项目没有设置为自动构建

如果这不是问题,则您调用的 Maven Test 选项可能未调用测试目标。关于“无需编译”消息,我建议您始终执行 clean,以便 Maven 摆脱以前编译的类并再次从头开始构建。

总结:右键单击项目 > 运行方式> Maven Build...> 在 上键入 clean test目标字段 > 单击运行。检查是否有什么变化。

如果成功,下次需要再次运行时,您刚刚创建的运行配置将已经列在 运行方式> Maven 构建中菜单。

关于java - 我是 Selenium 新手,但为什么 Maven 会跳过我的测试并告诉我构建成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48817404/

相关文章:

java - Jackson 不会将新的 JSON 对象附加到现有的 Json 文件中

java - Cassandra - 有没有办法限制异步查询的数量?

java - 如果拦截器中身份验证失败,Struts2 返回 json

java - 同时运行在同一个JVM上运行的java程序?

java - eclipse "can not be resolved to variable"

PHP开发环境最佳实践

Javascript:无法在 Selenium 中使用 Firefox 浏览器

postgresql - 使用 org.testcontainers 时如何在 docker 容器中包含 postgresql.conf

java - 安装 POM 时设置本地存储库 ID

java - Eclipse 不显示不存在的 Maven 属性