Я использую эти две зависимости Maven для создания отчета по экстентам с помощью Cucumber (я также использую TestNG в рамках параллельного тестирования): 1. Extentreports-cucumber4-adapter- версия 1.07 и 2.Extent Reports- версия 4.09
Я использую класс TestRunner для выполнения сценариев в файле Feature.
У меня нет никаких классов, кроме двух вышеупомянутых зависимостей, для создания отчета Extent.
MyВопрос в том, как мне сгенерировать журналы в отчете экстента? Какие изменения мне нужно сделать в классе TestRunner? Я не хочу добавлять код в каждый файл определения шага.
Завершено исследование переполнения стека
Это мой класс для выполнения тестов:
import org.junit.runner.RunWith;
import org.testng.ITestResult;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.DataProvider;
import com.aventstack.extentreports.ExtentReports;
import com.aventstack.extentreports.ExtentTest;
//import com.cucumber.listener.Reporter;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import cucumber.api.testng.TestNGCucumberRunner;
import io.cucumber.testng.AbstractTestNGCucumberTests;
@RunWith(Cucumber.class)
@CucumberOptions(
features="src/test/resources/features/APIPortingGET.feature" ,
glue= {"stepDefinition"}, //step definition file
plugin = {"pretty", "html:test-output", "json:target/cucumber-json-report.json", "junit:junit_xml/cucumber.xml", "com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:test-output/HtmlReport/SOAReport.html"},
monochrome = true,//displays the console output in a readable format
dryRun = false//to check mapping is proper between feature and step def file
//strict = true // will fail the test if there are undefined steps in the step def file or the mapping between the feature file and step def file is wrong
//tags= {"@debug"}
)
public class TestRunner extends AbstractTestNGCucumberTests {
private static TestNGCucumberRunner testNGCucumberRunner;
ExtentTest test;
ExtentReports extent;
@Override
@DataProvider(parallel=true)
public Object[][] scenarios() {
return super.scenarios();
}
}