You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins中Robot Framework Browser Library截图未嵌套至日志问题求助

Robot Framework日志截图未嵌入显示问题排查与解决

环境版本

  • Jenkins 2.386
  • Pipeline plugin 590.v6a_d052e5a_a_b_5
  • Robot Framework plugin 3.3.0
  • Python 3.9.2
  • robotframework 6.0.2
  • robotframework-assertion-engine 1.0.0
  • robotframework-browser 15.1.0
  • robotframework-pythonlibcore 4.0.0

问题现象

  • Robot测试日志中的截图未嵌入显示,仅显示占位图标,但点击图标可正常跳转打开对应截图
  • Robot Publisher已成功将测试结果复制至当前构建目录
  • 已配置otherFiles: '**/*.png',PNG图片及Browser Library的目录结构已被正确复制
  • 测试在Jenkins主节点执行,未使用代理节点

已尝试操作

已配置CSP规则,内容如下,但问题未解决:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","sandbox allow-scripts; default-src 'none'; img-src 'self' data: ; style-src 'self' 'unsafe-inline' data: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;")

当前使用的Jenkinsfile:

pipeline {
    agent any
    stages {
        stage('Test') {
            steps {
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
                    sh 'robot -d results Scripts/My_Test_Suite.robot'
                }
            }
        }
        stage('Results') {
            steps {
                step([
                    $class: 'RobotPublisher',
                    outputPath: 'results',
                    outputFileName: '*.xml',
                    otherFiles: '**/*.png',
                ])
            }
        }
    }
}

解决办法

1. 调整CSP配置

当前CSP的default-src设为'none'可能限制了资源的基础访问权限,修改为'self'后可确保Jenkins能正确加载相对路径的图片。更新后的CSP配置:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","sandbox allow-scripts; default-src 'self'; img-src 'self' data: ; style-src 'self' 'unsafe-inline' ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;")

修改完成后重启Jenkins生效。

2. 优化Robot Publisher的文件匹配规则

将otherFiles配置为更明确的路径,避免匹配范围模糊导致插件无法准确识别图片:

step([
    $class: 'RobotPublisher',
    outputPath: 'results',
    outputFileName: '*.xml',
    otherFiles: 'results/**/*.png',
])

3. 升级Robot Framework插件

当前使用的3.3.0版本可能存在图片嵌入显示的兼容性问题,尝试升级至最新版本,新版本通常会修复此类已知问题。

4. 检查Robot原始日志的图片路径

打开构建目录下results文件夹中的log.html,查看图片的src属性是否为有效相对路径。如果路径异常,可在Robot执行命令中指定更清晰的输出路径,例如:

robot -d ./results ./Scripts/My_Test_Suite.robot

内容的提问来源于stack exchange,提问作者Jalo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 19:02:11