You need to enable JavaScript to run this app. 如何从GitHub Actions中获取日志文件并查看测试失败的报告内容
优惠活动
大模型
产品
解决方案
定价
更多

如何从GitHub Actions中获取日志文件并查看测试失败的报告内容

查看GitHub Actions中测试报告的方法

方法1:上传报告为构建产物后下载查看

  • 在你的GitHub Actions工作流yml文件的测试执行步骤后,新增actions/upload-artifact配置,将测试报告目录上传为构建产物,参考配置:
- name: 上传测试报告
  uses: actions/upload-artifact@v4
  if: always()
  with:
    name: test-report
    path: build/reports/tests/test/
    retention-days: 7
  • 配置说明:if: always() 表示无论测试任务成功或失败都执行上传,避免测试失败时跳过上传逻辑;retention-days 可自定义产物的保留天数。
  • 工作流运行结束后,进入对应运行任务的详情页面,在页面底部「Artifacts」区域即可下载名为test-report的压缩包,解压后打开其中的index.html即可查看完整报告内容。

方法2:直接在控制台打印错误详情

无需下载报告,可通过修改Gradle配置将测试失败的完整堆栈直接输出到工作流日志中:

  • 在项目的build.gradle文件中添加如下配置:
test {
    testLogging {
        exceptionFormat = 'full'
        events = ["FAILED", "STANDARD_OUT", "STANDARD_ERROR"]
    }
}
  • 修改后重新运行工作流,测试失败的完整错误信息会直接展示在控制台日志中,可直接定位问题。
本地运行正常但CI环境失败的常见排查方向
  • 检查CI环境的浏览器版本、WebDriver版本、Selenium依赖版本是否和本地一致,版本不兼容是org.openqa.selenium.WebDriverException的高频诱因。
  • 检查CI环境的浏览器启动配置:CI服务器默认无图形界面,Selenium需要配置无头模式启动,参考Chrome配置代码:
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless=new");
options.addArguments("--no-sandbox");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("--window-size=1920,1080");
  • 检查测试是否依赖本地独有配置,包括本地Hosts映射、专属网络权限、本地缓存数据等,CI环境的网络和运行环境与本地存在差异可能导致操作失败。
  • 拖拽类操作可能受浏览器窗口大小、元素加载速度影响,可增加显式等待逻辑保证元素加载完成后再执行操作,避免CI环境性能较低导致的元素未加载问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 09:09:03