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()
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
-
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.
-
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
-
-