我正在从事硒黄瓜项目。我正在使用以下版本:
我能够生成HTML报告。但是,我想知道如何使用scopereports-cucumber4-adapter
添加屏幕截图和日志import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(features = <PATH>,
glue = {"testcases.periscope"},plugin = {"com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:", "json:target/cucumber-report.json","html:target/Report.html"})
//@Category(Example.class)
public class RunCukesTest {
}
答案 0 :(得分:0)
我能够使用 extentreports-cucumber4-adapter v1.0.7 添加屏幕截图,但是在 v1.0.6
中却无法实现<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports-cucumber4-adapter</artifactId>
<version>1.0.7</version>
</dependency>
现在让我们说我们想在测试用例失败时添加屏幕截图,以便我们可以在挂钩中遵循以下代码-
@After
public void afterScenario(Scenario scenario){
if(scenario.isFailed()){
byte[] screenshot = ((TakesScreenshot)DriverManager.getDriver()).getScreenshotAs(OutputType.BYTES);
scenario.embed(screenshot, "image/png");
}
}
如果要在报告中打印内容,可以使用 scenario.write(“ message”);
答案 1 :(得分:0)
如果您想在测试步骤中添加日志消息或屏幕截图,请遵循这种方法。 创建一个静态报告类,并添加您的自定义日志方法,
@AfterStep
public static void addStepLog(String Message)
{
ExtentCucumberAdapter.addMessageToTestStep(Message);
}
您必须自定义ExtentCucumberAdapter类,并添加一些静态日志方法以利用线程级步骤信息。
公共静态同步void addMessageToTestStep(String Message) {
stepTestThreadLocal.get()。info(Message); }
Public static synchronized void addScreenShotToTestStep(String Message)
{
stepTestThreadLocal.get().embed(screenshot, "image/png");
}