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

能否通过Ruby-Watir测试向Slack发送截图?

如何通过Ruby-Watir将本地截图发送到Slack

当然可以实现,你只需要利用slack-notifier的文件上传功能,把本地已保存的截图直接发送到Slack。以下是修改后的代码示例:

首先,你需要明确screenCapture函数生成的截图的完整本地路径。如果screenCapture本身会返回截图路径,直接复用即可;如果没有,就按照你的保存规则手动拼接路径:

require 'watir'
require_relative 'regression_config.rb'
require 'date'
require 'faker'
require 'slack-notifier'  # SLACK

# 生成截图并获取本地路径
# 情况1:如果screenCapture返回截图完整路径
screenshot_path = screenCapture(browser,"Origination Portal - Login",test_id)
# 情况2:如果screenCapture不返回路径,按保存规则拼接(示例)
# screenshot_path = "./screenshots/#{test_id}_Origination_Portal_-_Login.png"
   
# Slack配置
notifier = Slack::Notifier.new "https://hooks.slack.com/services/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"

# 发送文本通知+截图
notifier.post(
  text: ">>>>>Auto Regression was not run. Possible login / environment issue<<<<<",
  attachments: [
    {
      text: "登录页异常截图",
      fallback: "无法显示截图",
      image_url: "attachment://login_error.png"
    }
  ],
  file: File.open(screenshot_path),
  filename: "login_error.png"
)

关键说明:

  • file: File.open(screenshot_path):传入本地截图的文件对象,告诉Slack要上传的文件
  • filename:设置截图在Slack中显示的文件名
  • 通过attachments里的image_url: "attachment://文件名",可以让截图直接在消息中预览,不用点击下载

注意事项:

  • 确保截图路径正确,否则会抛出文件找不到的错误
  • Slack单文件上传最大支持5GB,测试场景下一般不会超出限制
  • 你的Slack webhook默认具备文件上传权限,无需额外配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 07:05:34