Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从命令行执行Maven测试时未运行_Java_Selenium_Maven_Intellij Idea_Automation - Fatal编程技术网

Java 从命令行执行Maven测试时未运行

Java 从命令行执行Maven测试时未运行,java,selenium,maven,intellij-idea,automation,Java,Selenium,Maven,Intellij Idea,Automation,我试图使用mvn test命令从命令行运行一个项目。它显示构建成功,但未运行任何测试。我正在使用TestNG。控制台输出: 我尝试了StackOverflow中提供的所有建议,但仍然没有运行。我也没有surefire插件。请让我知道我错过了什么 以下是我的pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSc

我试图使用
mvn test
命令从命令行运行一个项目。它显示构建成功,但未运行任何测试。我正在使用TestNG。控制台输出:

我尝试了StackOverflow中提供的所有建议,但仍然没有运行。我也没有surefire插件。请让我知道我错过了什么

以下是我的pom.xml:

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.way2automation.www</groupId>
    <artifactId>SecondMavenTest</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager -->
        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>3.8.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/log4j/log4j -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.19</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/javax.mail/mail -->
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.testng/testng -->
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.14.3</version>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.uncommons/reportng -->
        <dependency>
            <groupId>org.uncommons</groupId>
            <artifactId>reportng</artifactId>
            <version>1.1.4</version>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.google.inject/guice -->
        <dependency>
            <groupId>com.google.inject</groupId>
            <artifactId>guice</artifactId>
            <version>4.2.3</version>
        </dependency>

        <!-- POI JARS STARTS -->

        <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>4.1.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
        <dependency>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>1.6.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans -->
        <dependency>
            <groupId>org.apache.xmlbeans</groupId>
            <artifactId>xmlbeans</artifactId>
            <version>3.1.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>4.1.1</version>
        </dependency>

        <!-- POI JARS ENDS -->


    </dependencies>
</project>

4.0.0
com.way2automation.www

这是我的XML文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="TestNG Suite">


    <listeners>
        <listener class-name="customListeners.CustomListeners"></listener>
        <listener class-name="org.uncommons.reportng.HTMLReporter"></listener>
    </listeners>


    <test name="BankManagerLogin">
        <classes>
            <class name="testcases.BankManagerLogin" />
        </classes>
    </test>
    
    <test name=" AddCustomerLogin ">
        <classes>
            <class name="testcases.AddCustomerLogin" />
        </classes>
    </test>
    
        <test name=" OpenAccount">
        <classes>
            <class name="testcases.OpenAccount" />
        </classes>
    </test>
    

    
</suite> <!-- Suite -->

需要配置以下插件才能使用maven运行测试:

  • 添加:编译器插件用于编译我们项目的源代码

      <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
             <configuration>
                 <compilerVersion>3.5.1</compilerVersion>
                 <source>8</source>
                 <target>8</target>
             </configuration>
         </plugin>
    
  • 两个插件都应该在
    标签下。
    在此处替换
    testng.xml
    文件的相对路径。e、 g.在您的项目下创建一个文件夹名
    config
    ,并放置testng.xml文件,那么xml路径将是
    config/testng.xml
    ,需要配置以下插件,以便使用maven运行测试:

  • 添加:编译器插件用于编译我们项目的源代码

      <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
             <configuration>
                 <compilerVersion>3.5.1</compilerVersion>
                 <source>8</source>
                 <target>8</target>
             </configuration>
         </plugin>
    
  • 两个插件都应该在
    标签下。
    在此处替换
    testng.xml
    文件的相对路径。e、 g.在您的项目下创建一个文件夹名
    config
    ,并放置testng.xml文件,那么xml路径将是
    config/testng.xml

    修复非常自然

    您处于当前目录CWD,您的POM位于/POM.xml,您运行mvn测试,您的配置显示testng.xml

    因此,主题应该命名为“testng.xml应该在哪里”

    如果配置显示testng.xml,则套件xml应位于:

    /testng.xml

    POM所在的同一目录-/POM.xml

    但是如果您配置了src/test/resources/testng.xml,那么testng套件xml的实际位置将是:

    /src/test/resources/testng.xml,其中,“/”是CWD-正是放置pom.xml的目录,然后src/test/resources是子目录

    请阅读文档

    请特别参阅文档中的这一部分:

          <suiteXmlFiles>
            <file>src/test/resources/testng1.xml</file>
            <file>src/test/resources/testng2.xml</file>
          </suiteXmlFiles>
    
    
    src/test/resources/testng1.xml
    src/test/resources/testng2.xml
    

    修复非常自然

    您处于当前目录CWD,您的POM位于/POM.xml,您运行mvn测试,您的配置显示testng.xml

    因此,主题应该命名为“testng.xml应该在哪里”

    如果配置显示testng.xml,则套件xml应位于:

    /testng.xml

    POM所在的同一目录-/POM.xml

    但是如果您配置了src/test/resources/testng.xml,那么testng套件xml的实际位置将是:

    /src/test/resources/testng.xml,其中,“/”是CWD-正是放置pom.xml的目录,然后src/test/resources是子目录

    请阅读文档

    请特别参阅文档中的这一部分:

          <suiteXmlFiles>
            <file>src/test/resources/testng1.xml</file>
            <file>src/test/resources/testng2.xml</file>
          </suiteXmlFiles>
    
    
    src/test/resources/testng1.xml
    src/test/resources/testng2.xml
    

    谢谢@NarendraR。出于某种原因,创建一个单独的文件夹并移动testng.xml并不起作用。所以我把pom.xml和testng.xml文件放在外面,它就工作了。问题是这两个插件丢失了。我同意Maven 3.6的假设,我们不需要surefire插件。同样的代码在没有surefire插件的情况下适用于我的朋友,所以我想知道原因是什么。如果您有任何想法,我将不胜感激。再次感谢您的帮助很高兴听到:)这是一个示例,以防testng.xml不在项目根目录中。@AVarma插件没有问题。这是用户的问题。这在所有构建系统中都是很自然的,即使在ANT中也是如此。考虑了相对路径。这意味着您从CWD目录运行测试,然后XML位于CWD/testng.XML中。如果配置为src/test/resources/testng.xml,那么文件位于CWD/src/test/resources/testng.xml,您的POM位于CWD/POM.xml。这是合乎逻辑的解释吗?这个问题重复出现,但这是用户的错误,因为用户没有阅读文档。谢谢@NarendraR。出于某种原因,创建一个单独的文件夹并移动testng.xml并不起作用。所以我把pom.xml和testng.xml文件放在外面,它就工作了。问题是这两个插件丢失了。我同意Maven 3.6的假设,我们不需要surefire插件。同样的代码在没有surefire插件的情况下适用于我的朋友,所以我想知道原因是什么。如果您有任何想法,我将不胜感激。再次感谢您的帮助很高兴听到:)这是一个示例,以防testng.xml不在项目根目录中。@AVarma插件没有问题。这是用户的问题。这在所有构建系统中都是很自然的,即使在ANT中也是如此。考虑了相对路径。这意味着您从CWD目录运行测试,然后XML位于CWD/testng.XML中。如果配置为src/test/resources/testng.xml,那么文件位于CWD/src/test/resources/testng.xml,您的POM位于CWD/POM.xml。这是合乎逻辑的解释吗?这个问题重复出现,但这是用户错误,因为用户没有阅读文档。