org.jbehave.web.selenium.WebDriverHtmlOutput Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jbehave-web-selenium Show documentation
Show all versions of jbehave-web-selenium Show documentation
Selenium and WebDriver API bindings for JBehave
The newest version!
package org.jbehave.web.selenium;
import org.jbehave.core.configuration.Keywords;
import org.jbehave.core.reporters.FilePrintStreamFactory;
import org.jbehave.core.reporters.StoryReporter;
import org.jbehave.core.reporters.StoryReporterBuilder;
import org.jbehave.core.reporters.HtmlOutput;
import java.io.PrintStream;
import java.util.Properties;
/**
* This variation to HtmlOutput inlines a screenshot of the failure taken by WebDriver.
*/
public class WebDriverHtmlOutput extends HtmlOutput {
public static final org.jbehave.core.reporters.Format WEB_DRIVER_HTML = new WebDriverHtmlFormat();
public WebDriverHtmlOutput(PrintStream output) {
super(output);
changeALine();
}
public WebDriverHtmlOutput(PrintStream output, Properties outputPatterns) {
super(output, outputPatterns);
changeALine();
}
public WebDriverHtmlOutput(PrintStream output, Keywords keywords) {
super(output, keywords);
changeALine();
}
public WebDriverHtmlOutput(PrintStream output, Properties outputPatterns, Keywords keywords) {
super(output, outputPatterns, keywords);
changeALine();
}
public WebDriverHtmlOutput(PrintStream output, Properties outputPatterns, Keywords keywords, boolean reportFailureTrace) {
super(output, outputPatterns, keywords, reportFailureTrace);
changeALine();
}
private void changeALine() {
super.overwritePattern("failed",
"\n");
}
private static class WebDriverHtmlFormat extends org.jbehave.core.reporters.Format {
public WebDriverHtmlFormat() {
super("HTML");
}
@Override
public StoryReporter createStoryReporter(FilePrintStreamFactory factory, StoryReporterBuilder storyReporterBuilder) {
factory.useConfiguration(storyReporterBuilder.fileConfiguration("html"));
return new WebDriverHtmlOutput(factory.createPrintStream(), storyReporterBuilder.keywords())
.doReportFailureTrace(storyReporterBuilder.reportFailureTrace())
.doCompressFailureTrace(storyReporterBuilder.compressFailureTrace());
}
}
}