TestNG - Collegare con ANT

In questo capitolo, dimostreremo come eseguire TestNG utilizzando ANT. Seguiamo i passaggi indicati di seguito:

Passaggio 1: scarica Apache Ant

Scarica l'ultima versione di Apache Ant

OS Nome archivio
finestre apache-ant-1.8.4-bin.zip
Linux apache-ant-1.8.4-bin.tar.gz
Mac apache-ant-1.8.4-bin.tar.gz

Passaggio 2: impostare l'ambiente Ant

Impostare il ANT_HOMEvariabile di ambiente in modo che punti alla posizione della directory di base, in cui le librerie ANT sono archiviate sulla macchina. Supponiamo di aver memorizzato le librerie Ant nella cartella apache-ant-1.8.4.

OS Produzione
finestre Impostare la variabile d'ambiente ANT_HOME su C: \ Program Files \ Apache Software Foundation \ apache-ant-1.8.4
Linux Esporta ANT_HOME = / usr / local / apache-ant-1.8.4
Mac Esporta ANT_HOME = / Library / apache-ant-1.8.4

Aggiungi la posizione del compilatore Ant a System Path come segue:

OS Descrizione
finestre Aggiungi la stringa% ANT_HOME \ bin alla fine della variabile di sistema, Path.
Linux Esporta PATH = $ PATH: $ ANT_HOME / bin /
Mac Non richiesto.

Passaggio 3: scarica l'archivio TestNG

Scarica i file jar richiesti http://www.testng.org.

OS Nome dell'archivio
finestre testng-6.8.jar
Linux testng-6.8.jar
Mac testng-6.8.jar

Passaggio 4: creazione della struttura del progetto

  • Crea una cartella TestNGWithAnt in C:\>TestNG_WORKSPACE.

  • Crea una cartella src in C:\>TestNG_WORKSPACE>TestNGWithAnt.

  • Crea una cartella test in C:\>TestNG_WORKSPACE>TestNGWithAnt.

  • Crea una cartella lib in C:\>TestNG_WORKSPACE>TestNGWithAnt.

  • Creare MessageUtil classe in C:\>TestNG_WORKSPACE>TestNGWithAnt>src cartella.

/*
* 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;
   }   
}
  • Crea la classe TestMessageUtil in C:\>TestNG_WORKSPACE>TestNGWithAnt>src cartella.

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());
   }
}
  • Copia testng-6.8.jar in C:\>TestNG_WORKSPACE>TestNGWithAnt>lib cartella.

Crea ANT build.xml

Innanzitutto, dobbiamo definire l'attività TestNG Ant come segue:

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

Quindi, useremo <testng> task in Ant per eseguire i nostri casi di test TestNG.

Il build.xml il file è il seguente -

<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>

Esegui il seguente comando Ant.

C:\TestNG_WORKSPACE\TestNGWithAnt>ant

Verifica l'output.

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