Я использую Java-класс для динамического генерирования testNG xml из файла Excel.Я использую allure-cli для создания отчетов об очаровании в конце выполнения моего теста.
Я использую maven-surefire-plugin со следующей конфигурацией.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
Я могу создать привлекательный отчет с полными журналами и скриншотами, прикрепленнымиЗаманчивые аннотации (@step, @attachments, @Story ..), когда тесты запускаются по заданным целям и этапам.
Однако я не могу получить тот же отчет, когда тесты запускаются классом java (который генерирует testNG xml и затем запускает его).Код для генерации XML: -
public static void runTestNGTests(Map<Integer,List<String>> testMap){
TestNG myTestNG = new TestNG();
XmlSuite mySuite = new XmlSuite();
mySuite.setName(suiteName);
List<XmlTest> myTests = new ArrayList<XmlTest>();
for(Map.Entry<Integer, List<String>> map : testMap.entrySet()){
XmlTest myTest = new XmlTest(mySuite);
myTest.setName(map.getKey()+".) web Test : "+map.getValue().get(0) + " on "+ map.getValue().get(1));
myTest.addParameter("Date", map.getValue().get(0));
myTest.setXmlClasses(Arrays.asList(new XmlClass("com.bravura.tests."+map.getValue().get(1))));
myTests.add(myTest);
}
mySuite.setTests(myTests);
List<XmlSuite> mySuites = new ArrayList<XmlSuite>();
mySuites.add(mySuite);
myTestNG.setXmlSuites(mySuites);
myTestNG.run();
}
}
Нужно ли включать javaagent: "$ {settings.localRepository} / org / aspectj / aspectjweaver / $ {aspectj.version} / aspectjweaver-$ {aspectj.version} .jar в моем testNG.xml , чтобы получить правильные журналы testbody в отчете очарования?