寻求可在Jenkins中邮件发送的WebdriverIO Selenium自动化测试报告方案
无公网Jenkins生成可邮件附件化测试报告的解决办法
1. 用测试框架原生生成独立可附件报告
多数自动化测试框架都能直接生成不依赖公网的报告,别盯着Jenkins插件死磕:
- pytest:用
pytest-html生成单文件HTML,命令敲pytest --html=report.html --self-contained-html,生成的HTML自带所有样式,直接就能当附件发 - JUnit/TestNG:配置框架输出XML报告,再用Maven的
maven-surefire-plugin或Gradle转成独立HTML/PDF,不用额外联网 - 重点:必须生成不依赖外部CDN、远程样式的报告,不然Jenkins没网加载不出来样式
2. 配置Jenkins邮件直接加附件
搞定报告生成后,在Jenkins里配置邮件就行:
- 进项目配置 → 构建后操作,选「Editable Email Notification」或者「Extended E-mail Notification」
- 在「Attachments」栏填报告的相对路径,比如
**/report.html或者**/test-result.pdf,只要文件在Jenkins工作空间里就能找到 - 要是找不到文件,检查下构建步骤里报告生成的路径是不是和配置的一致
3. 绕开HTML Reporter插件的替代方案
之前用HTML Reporter插件失败的话,试试手动归档+邮件的组合:
- 加一个「Archive the artifacts」构建后操作,把生成的报告文件归档(比如填
report.html) - 然后在邮件配置里直接引用归档后的文件,路径别写错
- 要是HTML报告样式乱了,肯定是生成的报告依赖远程资源了,换回框架的独立生成参数就行
4. JSON报告转可读附件的土方法
如果只能出JSON报告,自己写个脚本转成可读格式:
- 写个简单的Python/Shell脚本,读JSON测试结果,用模板渲染成HTML,或者转成PDF
- 把脚本加到Jenkins的构建步骤里,测试跑完就执行脚本生成报告
- 比如Python用
jinja2套个HTML模板,把JSON数据塞进去,生成的文件直接当附件就行
内容的提问来源于stack exchange,提问作者Seán
相关产品推荐
相关产品推荐

