跳至主要内容

方法选项

方法选项是可以为每个方法设置的选项。如果选项的键与在插件实例化期间设置的选项的键相同,则此方法选项将覆盖插件选项值。

保存选项

disableCSSAnimation

  • 类型: 布尔值
  • 必填:
  • 默认值: false
  • 与以下一起使用: 所有方法
  • 支持: Web、混合应用(Webview)

启用/禁用应用程序中的所有 CSS 动画和输入光标。如果设置为 true,则在截取屏幕截图之前将禁用所有动画,并在完成后重置。

enableLayoutTesting

  • 类型: 布尔值
  • 必填:
  • 默认值: false
  • 与以下一起使用: 所有方法
  • 支持: Web

这将隐藏页面上的所有文本,以便仅使用布局进行比较。隐藏将通过向**每个**元素添加样式'color': 'transparent !important'来完成。

有关输出,请参阅测试输出

信息

使用此标志,每个包含文本的元素(因此不仅仅是p, h1, h2, h3, h4, h5, h6, span, a, li,还有div|button|..)都将获得此属性。**没有**选项可以定制它。

hideScrollBars

  • 类型: 布尔值
  • 必填:
  • 默认值: true
  • 与以下一起使用: 所有方法
  • 支持: Web、混合应用(Webview)

隐藏应用程序中的滚动条。如果设置为 true,则在截取屏幕截图之前将禁用所有滚动条。默认设置为true以防止出现额外问题。

hideElements

  • 类型: 数组
  • 必填:
  • 与以下一起使用: 所有方法
  • 支持: Web、混合应用(Webview)、原生应用

此方法可以通过提供元素数组,通过向其添加属性visibility: hidden来隐藏一个或多个元素。

removeElements

  • 类型: 数组
  • 必填:
  • 与以下一起使用: 所有方法
  • 支持: Web、混合应用(Webview)、原生应用

此方法可以通过提供元素数组,通过向其添加属性display: none移除一个或多个元素。

resizeDimensions

  • 类型: 对象
  • 必填:
  • 默认值: { top: 0, right: 0, bottom: 0, left: 0}
  • 与以下一起使用: 仅用于saveElementcheckElement
  • 支持: Web、混合应用(Webview)、原生应用

需要包含toprightbottomleft像素数量的对象,这些像素需要使元素剪裁更大。

fullPageScrollTimeout

滚动后等待的超时时间(毫秒)。这可能有助于识别具有延迟加载的页面。

hideAfterFirstScroll

此方法将通过提供元素数组,通过向其添加属性visibility: hidden来隐藏一个或多个元素。当页面例如包含随着页面滚动而滚动的粘性元素时,这将非常方便,但在创建全页面屏幕截图时会产生烦人的效果。

waitForFontsLoaded

  • 类型: 布尔值
  • 必填:
  • 默认值: true
  • 与以下一起使用: 所有方法
  • 支持: Web、混合应用(Webview)

字体,包括第三方字体,可以同步或异步加载。异步加载意味着字体可能在 WebdriverIO 确定页面已完全加载后加载。为了防止字体渲染问题,此模块默认情况下会在截取屏幕截图之前等待所有字体加载完成。

比较(检查)选项

比较选项是可以影响比较方式的选项,由ResembleJS执行。

注意
  • 所有来自保存选项的选项都可以用于比较方法。
  • 所有比较选项都可以在服务实例化**期间**或每个检查方法中使用。如果方法选项的键与在服务实例化期间设置的选项的键相同,则方法比较选项将覆盖服务比较选项值。
  • 所有选项都可以用于
    • Web
    • 混合应用
    • 原生应用

ignoreAlpha

  • 类型: 布尔值
  • 默认值: false
  • 必填:

比较图像并丢弃 alpha 通道。

blockOutSideBar

  • 类型: 布尔值
  • 默认值: true
  • 必填:
  • 备注: 只能用于checkScreen()。这**仅适用于 iPad**

在比较期间自动屏蔽 iPad 横向模式下的侧边栏。这可以防止在选项卡/私有/书签原生组件上发生故障。

blockOutStatusBar

  • 类型: 布尔值
  • 默认值: true
  • 必填:
  • 备注: 这**仅适用于移动设备**

在比较期间自动屏蔽状态栏和地址栏。这可以防止时间、wifi 或电池状态发生故障。

blockOutToolBar

  • 类型: 布尔值
  • 默认值: true
  • 必填:
  • 备注: 这**仅适用于移动设备**

自动屏蔽工具栏。

ignoreAntialiasing

  • 类型: 布尔值
  • 默认值: false
  • 必填:

比较图像并丢弃抗锯齿。

ignoreColors

  • 类型: 布尔值
  • 默认值: false
  • 必填:

即使图像为彩色,比较也将比较 2 张黑白图像。

ignoreLess

  • 类型: 布尔值
  • 默认值: false
  • 必填:

比较图像并使用red = 16, green = 16, blue = 16, alpha = 16, minBrightness=16, maxBrightness=240进行比较。

ignoreNothing

  • 类型: 布尔值
  • 默认值: false
  • 必填:

比较图像并使用red = 0, green = 0, blue = 0, alpha = 0, minBrightness=0, maxBrightness=255进行比较。

rawMisMatchPercentage

  • 类型: 布尔值
  • 默认值: false
  • 必填:

如果为 true,则返回的百分比将类似于0.12345678,默认为0.12

returnAllCompareData

  • 类型: 布尔值
  • 默认值: false
  • 必填:

这将返回所有比较数据,而不仅仅是差异百分比。

saveAboveTolerance

  • 类型: 数字
  • 默认值: 0
  • 必填:

允许的misMatchPercentage值,可以防止保存具有差异的图像。

largeImageThreshold

  • 类型: 数字
  • 默认值: 0
  • 必填:

比较大型图像可能导致性能问题。在此处为像素数提供一个数字(大于 0),当图像宽度或高度大于largeImageThreshold像素时,比较算法将跳过像素。

scaleImagesToSameSize

  • 类型: 布尔值
  • 默认值: false
  • 必填:

在执行比较之前将 2 张图像缩放至相同大小。强烈建议启用ignoreAntialiasingignoreAlpha

文件夹选项

基线文件夹和屏幕截图文件夹(实际,差异)是在插件或方法实例化期间可以设置的选项。要在特定方法上设置文件夹选项,请将文件夹选项传递到方法的选项对象中。这可以用于

  • Web
  • 混合应用
  • 原生应用
import path from 'node:path'

const methodOptions = {
actualFolder: path.join(process.cwd(), 'customActual'),
baselineFolder: path.join(process.cwd(), 'customBaseline'),
diffFolder: path.join(process.cwd(), 'customDiff'),
}

// You can use this for all methods
await expect(
await browser.checkFullPageScreen("checkFullPage", methodOptions)
).toEqual(0)

actualFolder

  • 类型: string
  • 必填:

测试中捕获的快照的文件夹。

baselineFolder

  • 类型: string
  • 必填:

用于与之比较的基线图像的文件夹。

diffFolder

  • 类型: string
  • 必填:

ResembleJS 渲染的图像差异的文件夹。

欢迎!我如何帮助您?

WebdriverIO AI Copilot