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

如何修复Silk Test调用CaptureBitmap时的Bitmap failed to stabilize错误

Silk Test调用CaptureBitmap抛出BitmapNotStableException解决方法

根因

你之前配置的BitmapMatchCount、BitmapMatchInterval、BitmapMatchTimeout三个选项,是用于双位图相似度比对场景的重试规则配置,仅在做图像校验、控件位图匹配时生效,和CaptureBitmap()方法执行前默认触发的「等待界面停止动态渲染」的稳定校验逻辑是两套独立配置,因此修改这三个参数无法解决当前报错,不需要在Silk Test Workbench的UI界面做额外全局配置。

可行解决方式

  • 调用截图方法时直接跳过稳定校验(推荐)
    CaptureBitmap提供了带布尔参数的重载,第二个参数waitForStable传入False时,会直接执行截图不做稳定检查,不会抛出对应异常,修改后的代码如下:
    With _desktop.FormsWindow("AppMainWindow")
        ' 第二个参数传False跳过稳定校验
        .CaptureBitmap("C:\Snapshots\ErrorImage.PNG", False)
        .PushButton("buttonOK").Click()         
    End With
    
    这种方式仅对当前截图调用生效,不会影响其他步骤默认的等待逻辑,适合界面存在持续动效、实时刷新控件(如时钟、滚动日志、动画按钮)的场景。
  • 全局关闭截图稳定校验
    如果需要全局关闭所有截图操作的前置稳定检查,需要修改对应稳定校验的专属配置项,而非之前的位图匹配配置,代码如下:
    ' 注意是BitmapStable开头的选项,不是BitmapMatch
    Agent.SetOption(Options.BitmapStableCount, 0)
    Agent.SetOption(Options.BitmapStableInterval, 0)
    Agent.SetOption(Options.BitmapStableTimeout, 0)
    
  • 前置检查项
    执行截图前确认C:\Snapshots\目录已存在、当前运行脚本的账号有该目录的写入权限,权限不足或目录不存在会触发其他类型的IO报错,不会抛出位图稳定异常,但会导致截图保存失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 11:45:29