Использование XSLT-шаблона , наиболее эффективный и простой способ создания отчетов любого формата из xml.
В моем проекте мы создаем различные категории HTML-отчетов из testng-results.xml для быстрого регрессионного анализа.Также мы сгенерировали отчет json, используя xslt из testng-results.xml, чтобы увидеть совокупный результат.
Мы используем инструмент сборки gradle для запуска xslt и генерации отчета после завершения теста, например,
configurations{ xslt }
dependencies {
xslt 'net.sf.saxon:saxon:8.7'
}
task generateReport << {
File reportDir=new File("${projectDir}/HTML_Reports")
if(reportDir.exists()){
reportDir.deleteDir()
}
reportDir.mkdir()
ant.xslt(in: "${testReportDir.absolutePath}/test/testng-results.xml",
style: "${projectDir.absolutePath}/src/test/resources/xslt_config/emailablereport.xsl",
out: "${reportDir.absolutePath}/index.html",
classpath: configurations.xslt.asPath) {
param(name: 'paramXSLT.environment', expression: "${env}")
}
Вы также можете запустить xsl в maven, используя этот плагин
Для запуска xsl в программе Java см. этот пост