Package org.testng.reporters
Class EmailableReporter2
- java.lang.Object
-
- org.testng.reporters.EmailableReporter2
-
- All Implemented Interfaces:
IReporter
,ITestNGListener
public class EmailableReporter2 extends java.lang.Object implements IReporter
Reporter that generates a single-page HTML report of the test results.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
EmailableReporter2.ClassResult
GroupsEmailableReporter2.MethodResult
s by class.protected static class
EmailableReporter2.MethodResult
Groups test results by method.protected static class
EmailableReporter2.SuiteResult
GroupsEmailableReporter2.TestResult
s by suite.protected static class
EmailableReporter2.TestResult
GroupsEmailableReporter2.ClassResult
s by test, type (configuration or test), and status.
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringBuilder
buffer
private java.lang.String
fileName
private static Logger
LOG
protected java.util.List<EmailableReporter2.SuiteResult>
suiteResults
protected java.io.PrintWriter
writer
-
Constructor Summary
Constructors Constructor Description EmailableReporter2()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.io.PrintWriter
createWriter(java.lang.String outdir)
private boolean
dumpParametersInfo(java.lang.String prefix, java.lang.Object[] parameters)
void
generateReport(java.util.List<XmlSuite> xmlSuites, java.util.List<ISuite> suites, java.lang.String outputDirectory)
Generate a report for the given suites into the specified output directory.java.lang.String
getFileName()
protected java.lang.String
getFormattedStartTime(long startTimeInMillisFromEpoch)
void
setFileName(java.lang.String fileName)
protected void
writeBody()
protected void
writeDocumentEnd()
protected void
writeDocumentStart()
protected void
writeHead()
protected void
writeReporterMessages(java.util.List<java.lang.String> reporterMessages)
private void
writeScenario(int scenarioIndex, java.lang.String label, ITestResult result)
Writes the details for an individual test scenario.protected void
writeScenarioDetails()
Writes the details for all test scenarios.private int
writeScenarioDetails(java.util.List<EmailableReporter2.ClassResult> classResults, int startingScenarioIndex)
Writes the scenario details for the results of a given state for a single test.protected void
writeScenarioSummary()
Writes a summary of all the test scenarios.private int
writeScenarioSummary(java.lang.String description, java.util.List<EmailableReporter2.ClassResult> classResults, java.lang.String cssClassPrefix, int startingScenarioIndex)
Writes the scenario summary for the results of a given state for a single test.protected void
writeStackTrace(java.lang.Throwable throwable)
protected void
writeStylesheet()
protected void
writeSuiteSummary()
protected void
writeTableData(java.lang.String html)
Writes a TD element with the specified contents.protected void
writeTableData(java.lang.String html, java.lang.String cssClasses)
Writes a TD element with the specified contents and CSS class names.protected void
writeTableHeader(java.lang.String html, java.lang.String cssClasses)
Writes a TH element with the specified contents and CSS class names.protected void
writeTag(java.lang.String tag, java.lang.String html, java.lang.String cssClasses)
Writes an arbitrary HTML element with the specified contents and CSS class names.
-
-
-
Field Detail
-
LOG
private static final Logger LOG
-
writer
protected java.io.PrintWriter writer
-
suiteResults
protected final java.util.List<EmailableReporter2.SuiteResult> suiteResults
-
buffer
private final java.lang.StringBuilder buffer
-
fileName
private java.lang.String fileName
-
-
Method Detail
-
setFileName
public void setFileName(java.lang.String fileName)
-
getFileName
public java.lang.String getFileName()
-
generateReport
public void generateReport(java.util.List<XmlSuite> xmlSuites, java.util.List<ISuite> suites, java.lang.String outputDirectory)
Description copied from interface:IReporter
Generate a report for the given suites into the specified output directory.- Specified by:
generateReport
in interfaceIReporter
- Parameters:
xmlSuites
- The list ofXmlSuite
suites
- The list ofISuite
outputDirectory
- The output directory
-
createWriter
protected java.io.PrintWriter createWriter(java.lang.String outdir) throws java.io.IOException
- Throws:
java.io.IOException
-
writeDocumentStart
protected void writeDocumentStart()
-
writeHead
protected void writeHead()
-
writeStylesheet
protected void writeStylesheet()
-
writeBody
protected void writeBody()
-
writeDocumentEnd
protected void writeDocumentEnd()
-
writeSuiteSummary
protected void writeSuiteSummary()
-
writeScenarioSummary
protected void writeScenarioSummary()
Writes a summary of all the test scenarios.
-
writeScenarioSummary
private int writeScenarioSummary(java.lang.String description, java.util.List<EmailableReporter2.ClassResult> classResults, java.lang.String cssClassPrefix, int startingScenarioIndex)
Writes the scenario summary for the results of a given state for a single test.
-
getFormattedStartTime
protected java.lang.String getFormattedStartTime(long startTimeInMillisFromEpoch)
-
writeScenarioDetails
protected void writeScenarioDetails()
Writes the details for all test scenarios.
-
writeScenarioDetails
private int writeScenarioDetails(java.util.List<EmailableReporter2.ClassResult> classResults, int startingScenarioIndex)
Writes the scenario details for the results of a given state for a single test.
-
writeScenario
private void writeScenario(int scenarioIndex, java.lang.String label, ITestResult result)
Writes the details for an individual test scenario.
-
dumpParametersInfo
private boolean dumpParametersInfo(java.lang.String prefix, java.lang.Object[] parameters)
-
writeReporterMessages
protected void writeReporterMessages(java.util.List<java.lang.String> reporterMessages)
-
writeStackTrace
protected void writeStackTrace(java.lang.Throwable throwable)
-
writeTableHeader
protected void writeTableHeader(java.lang.String html, java.lang.String cssClasses)
Writes a TH element with the specified contents and CSS class names.- Parameters:
html
- the HTML contentscssClasses
- the space-delimited CSS classes or null if there are no classes to apply
-
writeTableData
protected void writeTableData(java.lang.String html)
Writes a TD element with the specified contents.- Parameters:
html
- the HTML contents
-
writeTableData
protected void writeTableData(java.lang.String html, java.lang.String cssClasses)
Writes a TD element with the specified contents and CSS class names.- Parameters:
html
- the HTML contentscssClasses
- the space-delimited CSS classes or null if there are no classes to apply
-
writeTag
protected void writeTag(java.lang.String tag, java.lang.String html, java.lang.String cssClasses)
Writes an arbitrary HTML element with the specified contents and CSS class names.- Parameters:
tag
- the tag namehtml
- the HTML contentscssClasses
- the space-delimited CSS classes or null if there are no classes to apply
-
-