Showing posts with label testng. Show all posts
Showing posts with label testng. Show all posts

Wednesday, May 23, 2012

Using TestListenerAdapter Class

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import org.testng.ITestContext;
import org.testng.ITestResult;
import org.testng.TestListenerAdapter;

public class TestReporter extends TestListenerAdapter{
    File f;
    BufferedWriter bw;

    public void onStart(ITestContext testContext){
        System.out.println("ON START");
         f = new File("c:\\source.html");
         try{
             bw = new BufferedWriter(new FileWriter(f));
         }
         catch(Exception e){

         }
    }

    public void onFinish(ITestContext testContext){
        System.out.println("ON Finish");
         try{
             bw.close();
         }
         catch(Exception e){

         }
    }

    public void onTestFailure(ITestResult arg0) {
    System.out.println("Failed Test: "+arg0.getName()+" Reason:"+arg0.getThrowable()+" Class : "+arg0.getTestClass().getName());

     try{
         writeToFile(arg0.getName(), arg0.getThrowable().toString(), arg0.getTestClass().getName(), "red", "Failed");
     }
     catch(Exception e){
     }
    }

    public void onTestSkipped(ITestResult arg0) {
    System.out.println("Skipped test: "+arg0.getName()+" Reason"+arg0.getThrowable()+" Class : "+arg0.getTestClass().getName());
        System.out.println("Test skipped");

         try{
             writeToFile(arg0.getName(), arg0.getThrowable().toString(), arg0.getTestClass().getName(), "yellow", "Skipped");
         }
         catch(Exception e){
         }
    }

    public void onTestSuccess(ITestResult arg0) {
        System.out.println("Passed Test: "+arg0.getName());
    }

    public void writeToFile(String testName, String throwable, String className, String color, String status) throws IOException{
         bw.write("<tr><td style=\"background-color:" + color + ";\">" + status + "</td><td>" + className + "</td><td>" + testName + "</td><td>" + throwable + "</td></tr>");
         bw.newLine();
    }
}

Tuesday, May 22, 2012

Run tesng programatically

        XmlSuite xml = new XmlSuite();
        xml.setName("Test");

        XmlTest test = new XmlTest(xml);
        test.setName("Sample Test");
        List<XmlClass> classes = new ArrayList<XmlClass>();
        classes.add(new XmlClass("main.Sample"));
        test.setXmlClasses(classes);

        List<XmlSuite> suites = new ArrayList<XmlSuite>();
        suites.add(xml);
        TestNG tng = new TestNG();
        tng.setXmlSuites(suites);
        tng.run();

Wednesday, January 4, 2012

ISuiteListener and ITestListener

Sample usage

public class TestReporter implements ITestListener {

    static int count;

    public void onFinish(ITestContext arg0) {

        System.out.println("Test Finished !!!!!!!!");
    }

    public void onStart(ITestContext arg0) {
        ISuite suite = arg0.getSuite();
        System.out.println("Driver is : ");
        ITestNGMethod[] value = arg0.getAllTestMethods();
        System.out.println("Method Number : "+value.length);
        count = value.length;

    }

    @Override
    public void onTestFailure(ITestResult arg0) {
//    System.out.println("Finished Executing Test: "+arg0.getName()+" Status: Failed"+"\n Reason:"+arg0.getThrowable());
    }

    @Override
    public void onTestSkipped(ITestResult arg0) {
//    System.out.println("Skipped test: "+arg0.getName()+".Reason"+arg0.getThrowable());
    }

    @Override
    public void onTestStart(ITestResult arg0) {
//    System.out.println("Starting Test: "+arg0.getName());
//    System.out.println("\n Starting Test: "+count--);

    }

    @Override
    public void onTestSuccess(ITestResult arg0) {
    System.out.println("Finished Executing Test: "+arg0.getName()+" Status: Success.");
    System.out.println("Class Name : "+arg0.getTestClass());

    Object[] ab = arg0.getParameters();
    System.out.println("Param Set : "+ab.length);
    for(int i = 0 ; i < ab.length ; i++)
        System.out.print(ab[i]+" ");

//    System.out.println("Method Name : "+arg0.getMethod().getMethodName());
    }

    public void onTestFailedButWithinSuccessPercentage(ITestResult arg0) {
//    System.out.println("Test failed but within success percentage");
    }
}


public class SuiteReporter implements ISuiteListener {

    @Override
    public void onFinish(ISuite arg0) {
    System.out.println("Finished executing the suite");
    System.out.println("********Results*******");

    }

    @Override
    public void onStart(ISuite arg0) {
    System.out.println("Starting Execution");
    //Print suiteName
    System.out.println("Suite Name:"+arg0.getName());
    //Print HostName
//    System.out.println("Host Name:"+arg0.getHost());
    //Returns null if it runs locally

    }
}





 <suite name="Sample Suite">
<!--
    <listeners>
    <listener class-name="com.clearspring.qa.tellurium.SuiteReporter" />
    <listener class-name="com.clearspring.qa.tellurium.TestReporter" />
   </listeners>
<test>
</test>
</suite>