Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как преобразовать отчёт XML в XSL в Jenkins?


(BJladu4) #1

У меня NUnit создаёт отчёт в формате XML. В этой теме (http://automated-testing.info/forum/preobrazovanie-xml-otchetov-nunit-v-html#comment-3709) взял кусок кода XSL файла, для того, чтобы преобразовать XML файл.

Вопрос в том, что делать с этим XLS файлом?

Куда его сувать, как его включать и т.п. Я так понял, что для того, чтобы он преобразовался я должен добавить ссылку на XSL файл в XML файл.

А как это сделать средствами Jenkins?


(Mykhailo Poliarush) #2

стоп, стоп, стоп

все что там было это выполнение кастомного отчета под требования человека

вы уверены, что вам нужно тоже самое? расскажите, что вам нужно?

может быть вам поможет обычный NUnit plugin https://wiki.jenkins-ci.org/display/JENKINS/NUnit+Plugin


(BJladu4) #3

я его и так использую, но он просто XML файл создаёт, а мне его надо преобрпазовать и отправить на почту


(Mykhailo Poliarush) #4

ну тогда тут несколько вариантов

1. найти плагин, который использует xslt для конвертации и его использовать

например, https://wiki.jenkins-ci.org/display/JENKINS/xUnit+Plugin

 

Provide User XSL

For tools using a stylesheet to convert into JUnit files, you are able to use your own XSL at Jenkins level.
Specify your XSLs in the JENKINS_HOME/useContent directory with the following convention
userContent/xunit/[toolName]/[version]/[your_xsl].

For example:
userContent/xunit/AUnit/3.1.1/aunit-to-junit.xsl

Note: The tool name and the version are taken from the label in the combo box from the UI.
If the tool doesn't have a version, do not create a version directory.

2. или же c помощью языка программирования преобразовать файл

например, http://stackoverflow.com/questions/34093/how-to-apply-an-xslt-stylesheet-in-c-sharp

 

XPathDocument myXPathDoc = new XPathDocument(myXmlFile) ;
XslCompiledTransform myXslTrans = new XslCompiledTransform();
myXslTrans.Load(myStyleSheet);
XmlTextWriter myWriter = new XmlTextWriter("result.html",null);
myXslTrans.Transform(myXPathDoc,null,myWriter);