当前位置: 首页 > 文档资料 > TestNG 中文教程 >

测试结果(Test Results)

优质
小牛编辑
124浏览
2023-12-01

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

第1步:下载Apache Ant

下载最新版本的Apache Ant

OS存档名称
Windowsapache-ant-1.8.4-bin.zip
Linuxapache-ant-1.8.4-bin.tar.gz
Macapache-ant-1.8.4-bin.tar.gz

第2步:设置Ant环境

ANT_HOME环境变量设置为指向基目录位置,其中ANT库存储在您的计算机上。 假设我们已将Ant库存储在apache-ant-1.8.4文件夹中。

OSoutput
Windows将环境变量ANT_HOME设置为C:\Program Files\Apache Software Foundation\apache-ant-1.8.4
Linux导出ANT_HOME =/usr/local/apache-ant-1.8.4
Mac导出ANT_HOME =/Library/apache-ant-1.8.4

将Ant编译器位置附加到系统路径,如下所示 -

OS描述
Windows在系统变量Path的末尾附加字符串%ANT_HOME\bin。
Linux导出PATH = $ PATH:$ ANT_HOME/bin/
Mac不需要。

第3步:下载TestNG Archive

下载所需的jar文件http://www.testng.org.

OS存档名称
Windowstestng-6.8.jar
Linuxtestng-6.8.jar
Mactestng-6.8.jar

第4步:创建项目结构

  • C:\》TestNG_WORKSPACE创建一个文件夹C:\》TestNG_WORKSPACE

  • C:\》TestNG_WORKSPACE》TestNGWithAnt创建一个文件夹src

  • C:\》TestNG_WORKSPACE》TestNGWithAnt创建文件夹test

  • C:\》TestNG_WORKSPACE》TestNGWithAnt创建一个文件夹lib

  • C:\》TestNG_WORKSPACE》TestNGWithAnt》src文件夹中创建MessageUtil类。

/*
* 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;
   }   
}  	
  • C:\》TestNG_WORKSPACE》TestNGWithAnt》src文件夹中创建TestMessageUtil类。

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());
   }
}
  • C:\》TestNG_WORKSPACE》TestNGWithAnt》lib文件夹中复制testng-6.8.jar。

创建ANT build.xml

首先,我们需要定义TestNG Ant任务,如下所示 -

<taskdef name = "testng" classname = "org.testng.TestNGAntTask">
   <classpath>
      <pathelement location = "lib/testng-6.8.jar"/>
   </classpath>
</taskdef>

然后,我们将在Ant中使用《testng》任务来执行我们的TestNG测试用例。

build.xml文件如下 -

<project name = "TestNGTest" default = "test" basedir = ".">
   <!-- Define <testng> task -->
   <taskdef name = "testng" classname = "org.testng.TestNGAntTask">
      <classpath>
         <pathelement location = "lib/testng-6.8.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命令。

C:\TestNG_WORKSPACE\TestNGWithAnt>ant

验证输出。

test:
   [testng] [TestNG] Running:
   [testng]   C:\TestNG_WORKSPACE\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