Параметры методов
Параметры методов — это опции, которые можно установить для каждого метода. Если параметр имеет тот же ключ, что и опция, установленная при инициализации плагина, то параметр метода переопределит значение опции плагина.
Параметры сохранения
disableBlinkingCursor
- Тип:
boolean
- Обязательно: Нет
- По умолчанию:
false
- Поддерживается: Web, Hybrid App (Webview)
Включить/отключить "мигание" курсора во всех элементах input
, textarea
, [contenteditable]
в приложении. Если установлено значение true
, курсор будет сделан transparent
перед созданием скриншота
и восстановлен после завершения
disableCSSAnimation
- Тип:
boolean
- Обязательно: Нет
- По умолчанию:
false
- Поддерживается: Web, Hybrid App (Webview)
Включить/отключить все CSS-анимации в приложении. Если установлено значение true
, все анимации будут отключены перед созданием скриншота
и восстановлены после завершения
enableLayoutTesting
- Тип:
boolean
- Обязательно: Нет
- По умолчанию:
false
- Используется с: Все методы
- Поддерживается: Web
Это скроет весь текст на странице, чтобы для сравнения использовался только макет. Скрытие будет выполнено путем добавления стиля 'color': 'transparent !important'
к каждому элементу.
Пример вывода см. в разделе Test Output
При использовании этого флага каждый элемент, содержащий текст (не только p, h1, h2, h3, h4, h5, h6, span, a, li
, но также div|button|..
), получит это свойство. Здесь нет возможности настроить это поведение.
hideScrollBars
- Тип:
boolean
- Обязательно: Нет
- По умолчанию:
true
- Используется с: Все методы
- Поддерживается: Web, Hybrid App (Webview)
Скрыть полосы прокрутки в приложении. Если установлено значение true, все полосы прокрутки будут отключены перед созданием скриншота. По умолчанию установлено значение true
для предотвращения дополнительных проблем.
hideElements
- Тип:
array
- Обязательно: нет
- Используется с: Все методы
- Поддерживается: Web, Hybrid App (Webview), Native App
Этот метод может скрыть один или несколько элементов, добавляя к ним свойство visibility: hidden
, путем указания массива элементов.
removeElements
- Тип:
array
- Обязательно: нет
- Используется с: Все методы
- Поддерживается: Web, Hybrid App (Webview), Native App
Этот метод может удалить один или несколько элементов, добавляя к ним свойство display: none
, путем указания массива элементов.
resizeDimensions
- Тип:
object
- Обязательно: нет
- По умолчанию:
{ top: 0, right: 0, bottom: 0, left: 0}
- Используется с: Только для
saveElement
илиcheckElement
- Поддерживается: Web, Hybrid App (Webview), Native App
Объект, который должен содержать количество пикселей для top
, right
, bottom
и left
, на которое необходимо увеличить вырезанную область элемента.
fullPageScrollTimeout
- Тип:
number
- Обязательно: Нет
- По умолчанию:
1500
- Используется с: Только для
saveFullPageScreen
илиsaveTabbablePage
- Поддерживается: Web
Тайм-аут в миллисекундах для ожидания после прокрутки. Это может помочь в работе со страницами с ленивой загрузкой.
hideAfterFirstScroll
- Тип:
array
- Обязательно: нет
- Используется с: Только для
saveFullPageScreen
илиsaveTabbablePage
- Поддерживается: Web
Этот метод скрывает один или несколько элементов, добавляя к ним свойство visibility: hidden
, путем указания массива элементов.
Это будет полезно, когда, например, страница содержит фиксированные элементы, которые прокручиваются вместе со страницей, но создают раздражающий эффект при создании полноразмерного скриншота.
waitForFontsLoaded
- Тип:
boolean
- Обязательно: Нет
- По умолчанию:
true
- Используется с: Все методы
- Поддерживается: Web, Hybrid App (Webview)
Шрифты, включая сторонние, могут загружаться синхронно или асинхронно. Асинхронная загрузка означает, что шрифты могут загрузиться после того, как WebdriverIO определит, что страница полностью загружена. Чтобы предотвратить проблемы с отображением шрифтов, этот модуль по умолчанию будет ждать загрузки всех шрифтов перед созданием скриншота.
Параметры сравнения (проверки)
Параметры сравнения — это опции, которые влияют на способ выполнения сравнения с помощью ResembleJS.
- Все опции из Параметров сохранения могут использоваться для методов сравнения
- Все параметры сравнения могут быть использованы во время инициализации сервиса или для каждого отдельного метода проверки. Если параметр метода имеет тот же ключ, что и опция, установленная при инициализации сервиса, то параметр сравнения метода переопределит значение параметра сравнения сервиса.
- Все опции могут использоваться для:
- Web
- Hybrid App
- Native App
ignoreAlpha
- Тип:
boolean
- По умолчанию:
false
- Обязательно: нет
Сравнивать изображения и игнорировать альфа-канал.
blockOutSideBar
- Тип:
boolean
- По умолчанию:
true
- Обязательно: нет
- Примечание: Может использоваться только для
checkScreen()
. Это только для iPad
Автоматически блокировать боковую панель для iPad в режиме ландшафта во время сравнений. Это предотвращает сбои на нативных компонентах вкладок/приватного режима/закладок.
blockOutStatusBar
- Тип:
boolean
- По умолчанию:
true
- Обязательно: нет
- Примечание: Это только для мобильных устройств
Автоматически блокировать строку состояния и адресную строку во время сравнений. Это предотвращает сбои из-за времени, статуса Wi-Fi или заряда батареи.
blockOutToolBar
- Тип:
boolean
- По умолчанию:
true
- Обязательно: нет
- Примечание: Это только для мобильных устройств
Автоматически блокировать панель инструментов.
ignoreAntialiasing
- Тип:
boolean
- По умолчанию:
false
- Обязательно: нет
Сравнивать изображения и игнорировать сглаживание.
ignoreColors
- Тип:
boolean
- По умолчанию:
false
- Обязательно: нет
Даже если изображения цветные, сравнение будет производиться между 2 черно-белыми изображениями.
ignoreLess
- Тип:
boolean
- По умолчанию:
false
- Обязательно: нет
Сравнивать изображения с параметрами red = 16, green = 16, blue = 16, alpha = 16, minBrightness=16, maxBrightness=240
ignoreNothing
- Тип:
boolean
- По умолчанию:
false
- Обязательно: нет
Сравнивать изображения с параметрами red = 0, green = 0, blue = 0, alpha = 0, minBrightness=0, maxBrightness=255
rawMisMatchPercentage
- Тип:
boolean
- По умолчанию:
false
- Обязательно: нет
Если true, возвращаемый процент будет иметь вид 0.12345678
, по умолчанию 0.12
returnAllCompareData
- Тип:
boolean
- По умолчанию:
false
- Обязательно: нет
Возвращает все данные сравнения, а не только процент несоответствия
saveAboveTolerance
- Тип:
number
- По умолчанию:
0
- Обязательно: нет
Допустимое значение misMatchPercentage
, которое предотвращает сохранение изображений с различиями
largeImageThreshold
- Тип:
number
- По умолчанию:
0
- Обязательно: нет
Сравнение больших изображений может привести к проблемам с производитель ностью.
При указании количества пикселей (больше 0), алгоритм сравнения пропускает пиксели, когда ширина или высота изображения больше, чем largeImageThreshold
пикселей.
scaleImagesToSameSize
- Тип:
boolean
- По умолчанию:
false
- Обязательно: нет
Масштабирует 2 изображения до одинакового размера перед выполнением сравнения. Настоятельно рекомендуется включить ignoreAntialiasing
и ignoreAlpha
Параметры папок
Папка базовых изображений и папки скриншотов (actual, diff) — это параметры, которые можно установить при инициализации плагина или метода. Чтобы установить параметры папки для конкретного метода, передайте параметры папки в объект параметров метода. Это можно использовать для:
- Web
- Hybrid App
- Native App
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.