工作原理- 我们目前正在使用testng
可发送电子邮件的格式,并allure
为我们当前的测试执行生成格式化报告。这些与我们当地的工作正常。该/target/report
结构可以在图像中看到,分别描绘了 allure(/site) 和testng(/surefire)报告的 2 个不同文件夹:
尝试- 当我们尝试使用与本地相同的步骤使用Jenkins实现 CI 时,测试执行得很好,并且相应的报告也正在生成。
使用TestNG插件并指定模式**/target/surefire-reports/testng-results.xml
可以很好地显示 testNG 结果图。
还使用电子邮件分机插件,我可以将 .html 报告附加到发送给收件人的邮件中,指定附件字段详细信息为:
**/target/surefire-reports/emailable-report.html, **/target/surefire-reports/index.html
什么不起作用- 我们最终收到带有 HTML 报告的电子邮件,但这些没有格式化,可能是因为与这些链接的所有 CSS 都被遗漏了。有没有办法克服这个问题?
注意 -尝试过这些:
在附件中附加所有 .css 文件和 .html 文件,但是,一个是蛮力的,第二个它仍然不起作用。
一种方法也是
scp
从 Jenkins 实例到另一个主机的报告(/目标)目录,并通过电子邮件通知共享该机器上报告的路径,并共享格式化的报告。但是这需要额外的资源和对它的依赖,这是我们想要避免的。在发布此内容时,我看到一个似乎在做类似事情的HTML 发布者插件。尝试安装并使用它。但我假设因为我们正在使用
Jenkins 2.6
并且插件说明读取
从版本 1.625.3 和 1.641 开始,Jenkins 限制了在提供静态文件时可以显示的内容类型。这会影响使用此插件归档的 HTML 文件的显示方式。有关详细信息,请参阅配置内容安全策略。
我们没有Publish HTML Reports
在后期构建操作中获得选项。
任何建议都非常受欢迎,请务必要求提供更多信息。
编辑:除了上面的注释 2,我们设置中使用的 Jenkins 实例是 docker slave,显然使生成的报告或目标不是持久的。