方法选项
方法选项是可以为每个方法设置的选项。如果选项的键与在插件实例化期间设置的选项的键相同,则此方法选项将覆盖插件选项值。
保存选项
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}
- 与以下一起使用: 仅用于
saveElement
或checkElement
- 支持: Web、混合应用(Webview)、原生应用
需要包含top
、right
、bottom
和left
像素数量的对象,这些像素需要使元素剪裁更大。
fullPageScrollTimeout
- 类型:
数字
- 必填: 否
- 默认值:
1500
- 与以下一起使用: 仅用于
saveFullPageScreen
或saveTabbablePage
- 支持: Web
滚动后等待的超时时间(毫秒)。这可能有助于识别具有延迟加载的页面。
hideAfterFirstScroll
- 类型:
数组
- 必填: 否
- 与以下一起使用: 仅用于
saveFullPageScreen
或saveTabbablePage
- 支持: Web
此方法将通过提供元素数组,通过向其添加属性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 张图像缩放至相同大小。强烈建议启用ignoreAntialiasing
和ignoreAlpha
。
文件夹选项
基线文件夹和屏幕截图文件夹(实际,差异)是在插件或方法实例化期间可以设置的选项。要在特定方法上设置文件夹选项,请将文件夹选项传递到方法的选项对象中。这可以用于
- 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 渲染的图像差异的文件夹。