package TTT;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.testng.ITestContext;
import org.testng.ITestResult;
import org.testng.Reporter;
import org.testng.TestListenerAdapter;
public class CustomListener extends TestListenerAdapter{
private int m_count = 0;
public static WebDriver driver;
@Override
public void onStart(ITestContext tr) {
log(tr.getName()+ "--Test started\n");
}
@Override
public void onFinish(ITestContext tr) {
log(tr.getName()+ "--Test finished\n");
}
@Override
public void onTestFailure(ITestResult result) {
System.out.println("result" + result);
String methodName = result.getName();
System.out.println(methodName);
System.out.println(result.isSuccess());
if (!result.isSuccess()) {
String failureImageFileName = new SimpleDateFormat("MM-dd-yyyy_HH-ss").format(new GregorianCalendar().getTime())+ ".png";
File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
System.out.println("afet this");
try {
FileUtils.copyFile(scrFile, new File(failureImageFileName));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String userDirector = System.getProperty("user.dir") + "/";
Reporter.log("<a href=\""+ userDirector + failureImageFileName +"\"><img src=\"file:///" + userDirector
+ failureImageFileName + "\" alt=\"\""+ "height='100' width='100'/> "+"<br />");
Reporter.setCurrentTestResult(null);
}
}
@Override
public void onTestSkipped(ITestResult tr) {
log(tr.getName()+ "--Test method skipped\n");
Reporter.log("<font color = GREEN > Test skipped </font>");
}
@Override
public void onTestSuccess(ITestResult tr) {
log(tr.getName()+ "--Test method success\n");
Reporter.log("<font color = RED > Test success </font>");
}
private void log(String string) {
System.out.print(string);
if (++m_count % 40 == 0) {
System.out.println("");
}
}
}
XML--------------------
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Simple Logger Suite">
<listeners>
<listener class-name="TTT.CustomListener" />
</listeners>
<test name="Tiger">
<classes>
<class name="WebDriver.Test1" />
</classes>
</test>
</suite>
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.testng.ITestContext;
import org.testng.ITestResult;
import org.testng.Reporter;
import org.testng.TestListenerAdapter;
public class CustomListener extends TestListenerAdapter{
private int m_count = 0;
public static WebDriver driver;
@Override
public void onStart(ITestContext tr) {
log(tr.getName()+ "--Test started\n");
}
@Override
public void onFinish(ITestContext tr) {
log(tr.getName()+ "--Test finished\n");
}
@Override
public void onTestFailure(ITestResult result) {
System.out.println("result" + result);
String methodName = result.getName();
System.out.println(methodName);
System.out.println(result.isSuccess());
if (!result.isSuccess()) {
String failureImageFileName = new SimpleDateFormat("MM-dd-yyyy_HH-ss").format(new GregorianCalendar().getTime())+ ".png";
File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
System.out.println("afet this");
try {
FileUtils.copyFile(scrFile, new File(failureImageFileName));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String userDirector = System.getProperty("user.dir") + "/";
Reporter.log("<a href=\""+ userDirector + failureImageFileName +"\"><img src=\"file:///" + userDirector
+ failureImageFileName + "\" alt=\"\""+ "height='100' width='100'/> "+"<br />");
Reporter.setCurrentTestResult(null);
}
}
@Override
public void onTestSkipped(ITestResult tr) {
log(tr.getName()+ "--Test method skipped\n");
Reporter.log("<font color = GREEN > Test skipped </font>");
}
@Override
public void onTestSuccess(ITestResult tr) {
log(tr.getName()+ "--Test method success\n");
Reporter.log("<font color = RED > Test success </font>");
}
private void log(String string) {
System.out.print(string);
if (++m_count % 40 == 0) {
System.out.println("");
}
}
}
XML--------------------
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Simple Logger Suite">
<listeners>
<listener class-name="TTT.CustomListener" />
</listeners>
<test name="Tiger">
<classes>
<class name="WebDriver.Test1" />
</classes>
</test>
</suite>
No comments:
Post a Comment