TestNG_ConsoleRunner.java

The following code is for the TestNG_ConsoleRunner.java class:

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

import java.io.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
* @author Carl Cocchiaro
*
* TestNG Listener Utility Class
*
*/
public class TestNG_ConsoleRunner extends TestListenerAdapter {
private static String logFile = null;

/**
* onStart method
*
* @param testContext
*/
@Override
public void onStart(ITestContext testContext) {
super.onStart(testContext);
}

/**
* onFinish method
*
* @param testContext
*/
@Override
public void onFinish(ITestContext testContext) {
log(" Total Passed = "
+ getPassedTests().size()
+ ", Total Failed = "
+ getFailedTests().size()
+ ",
Total Skipped = "
+ getSkippedTests().size()
+ " ");

super.onFinish(testContext);
}

/**
* onTestStart method
*
* @param tr
*/
@Override
public void onTestStart(ITestResult tr) {
if ( logFile == null ) {
logFile = Global_VARS.LOGFILE_PATH
+ Global_VARS.SUITE_NAME
+ "-"
+ new SimpleDateFormat("MM.dd.yy.HH.mm.ss")
.format(new Date())
+ ".log";
}

log(" ---------------------------------- Test '"
+ tr.getName()
+ getTestDescription(tr)
+ "' ---------------------------------- ");

log(tr.getStartMillis(),
"START-> "
+ tr.getName() + " ");

log(" ***Test Parameters = "
+ getTestParams(tr)
+ " ");

super.onTestStart(tr);
}

/**
* onTestSuccess method
*
* @param tr
*/
@Override
public void onTestSuccess(ITestResult tr) {
log(" ***Result = PASSED ");

log(tr.getEndMillis(),
"END -> "
+ tr.getName());

log(" --- ");

super.onTestSuccess(tr);
}

/**
* onTestFailure method
*
* @param tr
*/
@Override
public void onTestFailure(ITestResult tr) {
if ( !getTestMessage(tr).equals("") ) {
log(getTestMessage(tr) + " ");
}

log(" ***Result = FAILED ");

log(tr.getEndMillis(),
"END -> "
+ tr.getInstanceName()
+ "." + tr.getName());

log(" --- ");

super.onTestFailure(tr);
}

/**
* onTestSkipped method
*
* @param tr
*/
@Override
public void onTestSkipped(ITestResult tr) {
if ( !getTestMessage(tr).equals("") ) {
log(getTestMessage(tr)
+ " ");
}

log(" ***Result = SKIPPED ");

log(tr.getEndMillis(),
"END -> "
+ tr.getInstanceName()
+ "."
+ tr.getName());

log(" --- ");

super.onTestSkipped(tr);
}

/**
* onConfigurationSuccess method
*
* @param itr
*/
@Override
public void onConfigurationSuccess(ITestResult itr) {
super.onConfigurationSuccess(itr);
}

/**
* onConfigurationFailure method
*
* @param tr
*/
@Override
public void onConfigurationFailure(ITestResult tr) {
if ( !getTestMessage(tr).equals("") ) {
log(getTestMessage(tr)
+ " ");
}

log(" ***Result = CONFIGURATION FAILED ");

log(tr.getEndMillis(),
"END CONFIG -> "
+ tr.getInstanceName()
+ "."
+ tr.getName());

log(" --- ");

super.onConfigurationFailure(tr);
}

/**
* onConfigurationSkip method
*
* @param tr
*/
@Override
public void onConfigurationSkip(ITestResult tr) {
log(getTestMessage(tr));
log(" ***Result = CONFIGURATION SKIPPED ");

log(tr.getEndMillis(),
"END CONFIG -> "
+ tr.getInstanceName()
+ "."
+ tr.getName());

log(" --- ");

super.onConfigurationSkip(tr);
}

/**
* log method
*
* @param dateMillis
* @param line
*/
public void log(long dateMillis,String line) {
System.out.format("%s: %s%n",
String.valueOf(new Date(dateMillis)),line);

if ( logFile != null ) {
writeTestngLog(logFile,
line);
}
}

/**
* log method
*
* @param line
*/
public void log(String line) {
System.out.format("%s%n", line);

if ( logFile != null ) {
writeTestngLog(logFile, line);
}
}

/**
* getTestMessage method
*
* @param tr
* @return String
*/
public String getTestMessage(ITestResult tr) {
Boolean found = false;

if ( tr != null && tr.getThrowable() != null ) {
found = true;
}

if ( found == true ) {
return tr.getThrowable().getMessage() ==
null ? "" : tr.getThrowable().getMessage();
}

else {
return "";
}
}

/**
* getTestParams method
*
* @param tr
* @return String
*/
public String getTestParams(ITestResult tr) {
int iLength = tr.getParameters().length;
String message = "";

try {
if ( tr.getParameters().length > 0 ) {
message = tr.getParameters()[0].toString();

for ( int iCount = 0; iCount < iLength; iCount++ ) {
if ( iCount == 0 ) {
message = tr.getParameters()[0].toString();
}
else {
message = message
+ ", "
+ tr.getParameters()
[iCount].toString();
}
}
}
}

catch(Exception e) {
// do nothing...
}

return message;
}

/**
* getTestDescription method
*
* @param tr
* @return String
*/
public String getTestDescription(ITestResult tr) {
String message = "";

try {
if ( tr.getParameters().length > 0 ) {
message = ": "
+ tr.getParameters()[1].toString();
}
}

catch(Exception e) {
// do nothing...
}

return message;
}

/**
* writeTestngLog method
*
* @param logFile
* @param line
*/
public void writeTestngLog(String logFile,String line) {
DateFormat dateFormat =
new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");

Date date = new Date();
File directory = new File(Global_VARS.LOGFILE_PATH);
File file = new File(logFile);

try {
if ( !directory.exists() ) {
directory.mkdirs();
}

else if ( !file.exists() ) {
file.createNewFile();
}

BufferedWriter writer =
new BufferedWriter(new FileWriter(logFile, true));

if ( line.contains("START") || line.contains("END") ) {
writer.append("["
+ dateFormat.format(date)
+ "] "
+ line);
}

else {
writer.append(line);
}

writer.newLine();
writer.close();
}

catch(IOException e) {
// do nothing...
}
}

}
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.12.107.29