Selenium webdriver JBehave+;TestNG+;Selenium Grid-使用单个jbehave故事文件时,为每个单独的Selenium节点生成jbehave index.html报告文件
我有一个JBehave项目,其中需要与使用的TestNG和Selenium网格集成,并在github中编写代码(很抱歉,因为我无法通过全部代码,所以只显示参考资料),我已经完成了JBehave+TestNG+Selenium网格 但我的问题是,当在不同的Selenium节点中使用single Story文件执行时,jbehave reportSelenium webdriver JBehave+;TestNG+;Selenium Grid-使用单个jbehave故事文件时,为每个单独的Selenium节点生成jbehave index.html报告文件,selenium-webdriver,testng,bdd,selenium-grid,jbehave,Selenium Webdriver,Testng,Bdd,Selenium Grid,Jbehave,我有一个JBehave项目,其中需要与使用的TestNG和Selenium网格集成,并在github中编写代码(很抱歉,因为我无法通过全部代码,所以只显示参考资料),我已经完成了JBehave+TestNG+Selenium网格 但我的问题是,当在不同的Selenium节点中使用single Story文件执行时,jbehave reportindex.html文件仅针对任何一个节点显示。我希望在一个或多个jbehave report index.html文件中为每个节点创建单独的报告。我不应该
index.html
文件仅针对任何一个节点显示。我希望在一个或多个jbehave report index.html文件中为每个节点创建单独的报告。我不应该运行两个故事文件,我如何在一个jbehave报告html文件中为每个Selenium节点显示单独的报告
我知道jbehave用于生成报告,但我不知道如何覆盖它并为每个selenium节点显示报告。任何想法请分享
提前感谢。最后尝试了一种方法,发现它现在是一个临时解决方案
提前感谢。我认为将Jbehave和TestNG结合起来不是一个更好的主意。Jbehave支持这些故事,使用testng没有任何用处,比如分组、参数等。现有的JUnitStores类可以很好地与Jbehave配合使用。如果您使用它来组织测试结果,您可以使用jbehave()的定制诱惑报告工具。您可以使用Jbehave+Allure+Selenium网格体系结构
RemoteWebDriver driver = (RemoteWebDriver) DriverManager.getDriver();
String hostname = hng.getHostName(driver.getSessionId());
String browserName = driver.getCapabilities().getBrowserName();
String browserVersion = driver.getCapabilities().getVersion();
Embedder storyEmbedder = new StoryEmbedder(driver, browserName + "v" + browserVersion);
private WebDriver driver;
private static String name;
public StoryEmbedder(WebDriver driver, String hostname) {
this.driver = driver;
this.name = hostname;
}
.withRelativeDirectory(name) //where 'name' is the String variable refer above step.
return new MostUsefulConfiguration()
.useStoryControls(new StoryControls().doDryRun(false).doSkipScenariosAfterFailure(false))
.useStoryLoader(
new LoadFromClasspath(embedderClass))
.useStoryParser(
new RegexStoryParser(
examplesTableFactory))
.useStoryPathResolver(new UnderscoredCamelCaseResolver())
.useStoryReporterBuilder(
new StoryReporterBuilder().withCodeLocation(CodeLocations.codeLocationFromClass(embedderClass))
.withDefaultFormats().withPathResolver(new ResolveToPackagedName())
.withViewResources(viewResources).withReporters(new MyStoryReporter())
.withFormats(Format.CONSOLE, Format.TXT, Format.HTML, Format.XML).withFailureTrace(true)
.withFailureTraceCompression(true).withCrossReference(xref).withRelativeDirectory(name)).useParameterConverters(parameterConverters)
// use '%' instead of '$' to identify parameters
.useStepPatternParser(new RegexPrefixCapturingPatternParser("%"));