TestNG - ANT 插件

  • 简述

    在本章中,我们将演示如何使用 ANT 运行 TestNG。让我们按照下面给出的步骤 -
  • 第 1 步:下载 Apache Ant

    下载最新版本的Apache Ant
    OS 压缩包名称
    windows apache-ant-1.10.10-bin.zip
    Linux apache-ant-1.10.10-bin.tar.gz
    苹果电脑 apache-ant-1.10.10-bin.tar.gz
  • 第二步:设置 Ant 环境

    设置 ANT_HOME环境变量指向基本目录位置,其中 ANT 库存储在您的机器上。假设我们已将 Ant 库存储在文件夹 apache-ant-1.8.4 文件夹中。
    OS 输出
    Windows 将环境变量 ANT_HOME 设置为 C:\Program Files\Apache Software Foundation\apache-ant-1.10.10
    Linux 导出 ANT_HOME=/usr/local/apache-ant-1.10.10
    Mac 导出 ANT_HOME=/Library/apache-ant-1.10.10
    将 Ant 编译器位置附加到系统路径,如下所示 -
    OS 描述
    Windows 在系统变量 Path 的末尾附加字符串 %ANT_HOME\bin。
    Linux 导出路径=$PATH:$ANT_HOME/bin/
    Mac 不需要。
  • 第 3 步:下载 TestNG 压缩包

    下载所需的 jar 文件https://testng.org/doc/ant.html
    OS 压缩包名称
    windows testng-7.4.jar
    Linux testng-7.4.jar
    苹果电脑 testng-7.4.jar
  • 第 4 步:创建项目结构

    • 创建文件夹 TestNGWithAnt/work/testng/src.
    • 创建文件夹 src/work/testng/src/TestNGWithAnt.
    • 创建文件夹 test/work/testng/src/TestNGWithAnt.
    • 创建文件夹 lib/work/testng/src/TestNGWithAnt.
    • 创建 MessageUtil 上课 /work/testng/src/TestNGWithAnt/src 文件夹。
    
    /*
    * This class prints the given message on console.
    */
    public class MessageUtil {
       private String message;
       //Constructor
       //@param message to be printed
       public MessageUtil(String message) {
          this.message = message;
       }
       // prints the message
       public void printMessage() {
          System.out.println(message);
          return message;
       }
       // add "Hi!" to the message
       public String salutationMessage() {
          message = "Hi!" + message;
          System.out.println(message);
          return message;
       }
    }
    
    • 在中创建 TestMessageUtil 类 /work/testng/src/TestNGWithAnt/src 文件夹。
    
    import org.testng.Assert;
    import org.testng.annotations.Test;
    public class TestMessageUtil {
       String message = "Manisha";
       MessageUtil messageUtil = new MessageUtil(message);
       @Test
       public void testPrintMessage() {
          System.out.println("Inside testPrintMessage()");
          Assert.assertEquals(message,messageUtil.printMessage());
       }
       @Test
       public void testSalutationMessage() {
          System.out.println("Inside testSalutationMessage()");
          message = "Hi!" + "Manisha";
          Assert.assertEquals(message,messageUtil.salutationMessage());
       }
    }
    
    • 将 testng-7.4.jar 复制到 /work/testng/src/TestNGWithAnt/lib 文件夹。
  • 创建 ANT build.xml

    首先,我们需要如下定义 TestNG Ant 任务 -
    
    <taskdef name = "testng" classname = "org.testng.TestNGAntTask">
       <classpath>
          <pathelement location = "lib/testng-7.4.jar"/>
       </classpath>
    </taskdef>
    
    然后,我们将使用 <testng> Ant 中的任务来执行我们的 TestNG 测试用例。
    build.xml 文件如下 -
    
    <project name = "TestNGTest" default = "test" basedir = ".">
       <!-- Define <testng> task -->
       <taskdef name = "testng" classname = "org.testng.TestNGAntTask">
          <classpath>
             <pathelement location = "lib/testng-7.4.jar"/>
          </classpath>
       </taskdef>
       <property name = "testdir" location = "test" />
       <property name = "srcdir" location = "src" />
       <property name = "libdir" location = "lib" />
       <property name = "full-compile" value="true" />
       <path id = "classpath.base"/>
       <path id = "classpath.test">
       <fileset dir = "${libdir}">
          <include name = "**/*.jar" />
       </fileset>
       <pathelement location = "${testdir}" />
       <pathelement location = "${srcdir}" />
       <path refid = "classpath.base" />
       </path>
       <target name = "clean" >
          <delete verbose="${full-compile}">
             <fileset dir = "${testdir}" includes="**/*.class" />
          </delete>
       </target>
       <target name = "compile" depends="clean">
          <javac srcdir = "${srcdir}" destdir = "${testdir}" verbose="${full-compile}">
             <classpath refid = "classpath.test"/>
          </javac>
       </target>
       <target name = "test" depends="compile">
          <testng outputdir = "${testdir}" classpathref="classpath.test">
             <xmlfileset dir = "${srcdir}" includes="testng.xml"/>
          </testng>
       </target>
    </project>
    
    运行以下 Ant 命令。
    
    /work/testng/src/TestNGWithAnt$ ant
    
    验证输出。
    
    test:
       [testng] [TestNG] Running:
       [testng]   /work/testng/src/TestNGWithAnt/src/testng.xml
       [testng]
       [testng] Inside testPrintMessage()
       [testng] Manisha
       [testng] Inside testSalutationMessage()
       [testng] Hi!Manisha
       [testng]
       [testng] ===============================================
       [testng] Plug ANT test Suite
       [testng] Total tests run: 2, Failures: 0, Skips: 0
       [testng] ===============================================
       [testng]
    BUILD SUCCESSFUL
    Total time: 1 second