如何从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
相关产品推荐
相关产品推荐

