Опции методов
Опции методов - это опции, которые можно установить для каждого метода. Если опция имеет тот же ключ, что и опция, установленная при создании экземпляра плагина, эта опция метода переопределит значение опции плагина.
Опции сохранения
disableBlinkingCursor
- Тип:
boolean
- Обязательно: Нет
- По умолчанию:
false
- Поддерживается: Веб, Гибридное приложение (Webview)
Включение/отключение "мигания" курсора для всех input
, textarea
, [contenteditable]
в приложении. Если установлено значение true
, курсор будет установлен на transparent
перед созданием снимка экрана
и сброшен при завершении
disableCSSAnimation
- Тип:
boolean
- Обязательно: Нет
- По умолчанию:
false
- Поддерживается: Веб, Гибридное приложение (Webview)
Включение/отключение всех CSS-анимаций в приложении. Если установлено значение true
, все анимации будут отключены перед созданием снимка экрана
и сброшены при завершении
enableLegacyScreenshotMethod
- Тип:
boolean
- Обязательно: Нет
- По умолчанию:
false
- Поддерживается: Веб, Гибридное приложение (Webview)
Используйте эту опцию для возврата к "старому" методу создания снимков экрана на основе протокола W3C-WebDriver. Это может быть полезно, если ваши тесты зависят от существующих базовых изображений или если вы работаете в средах, которые не полностью поддерживают более новые снимки экрана на основе BiDi. Обратите внимание, что включение этой опции может привести к созданию снимков экрана с немного другим разрешением или качеством.
enableLayoutTesting
- Тип:
boolean
- Обязательно: Нет
- По умолчанию:
false
- Используется с: Все методы
- Поддерживается: Веб
Это скроет весь текст на странице, так что для сравнения будет использоваться только макет. Скрытие будет выполнено путем добавления стиля 'color': 'transparent !important'
к каждому элементу.
Для вывода см. Test Output
При использовании этого флага каждый элемент, содержащий текст (не только p, h1, h2, h3, h4, h5, h6, span, a, li
, но также div|button|..
), получит это свойство. Нет возможности настроить это.
hideScrollBars
- Тип:
boolean
- Обязательно: Нет
- По умолчанию:
true
- Используется с: Все методы
- Поддерживается: Веб, Гибридное приложение (Webview)
Скрыть полосы прокрутки в приложении. Если установлено значение true, все полосы прокрутки будут отключены перед созданием снимка экрана. По умолчанию установлено значение true
для предотвращения дополнительных проблем.
hideElements
- Тип:
array
- Обязательно: нет
- Используется с: Все методы
- Поддерживается: Веб, Гибридное приложение (Webview), Нативное приложение
Этот метод может скрыть 1 или несколько элементов, добавляя к ним свойство visibility: hidden
, предоставляя массив элементов.
removeElements
- Тип:
array
- Обязательно: нет
- Используется с: Все методы
- Поддерживается: Веб, Гибридное приложение (Webview), Нативное приложение
Этот метод может удалить 1 или несколько элементов, добавляя к ним свойство display: none
, предоставляя массив элементов.
resizeDimensions
- Тип:
object
- Обязательно: нет
- По умолчанию:
{ top: 0, right: 0, bottom: 0, left: 0}
- Используется с: Только для
saveElement
илиcheckElement
- Поддерживается: Веб, Гибридное приложение (Webview), Нативное приложение
Объект, который должен содержать значения top
, right
, bottom
и left
в пикселях, необходимые для увеличения вырезанного элемента.
userBasedFullPageScreenshot
- Тип:
boolean
- Обязательно: Нет
- По умолчанию:
false
- Поддерживается: Веб, Гибридное приложение (Webview)
Если установлено значение true
, эта опция включает стратегию прокрутки и сшивания для захвата полноэкранных снимков.
Вместо использования нативных возможностей браузера для создания снимков экрана, она вручную прокручивает страницу и сшивает несколько снимков.
Этот метод особенно полезен для страниц с ленивой загрузкой контента или сложными макетами, которые требуют прокрутки для полного отображения.
fullPageScrollTimeout
- Тип:
number
- Обязательно: Нет
- По умолчанию:
1500
- Используется с: Только для
saveFullPageScreen
илиsaveTabbablePage
- Поддерживается: Веб
Время ожидания в миллисекундах после прокрутки. Это может помочь идентифицировать страницы с ленивой загрузкой.
ПРИМЕЧАНИЕ: Это работает только когда
userBasedFullPageScreenshot
установлено вtrue
hideAfterFirstScroll
- Тип:
array
- Обязательно: нет
- Используется с: Только для
saveFullPageScreen
илиsaveTabbablePage
- Поддерживается: Веб
Этот метод скроет один или несколько элементов, добавляя к ним свойство visibility: hidden
, предоставляя массив элементов.
Это будет удобно, когда страница, например, содержит закрепленные элементы, которые будут прокручиваться вместе со страницей при прокрутке, но создадут раздражающий эффект при создании полноэкранного снимка
ПРИМЕЧАНИЕ: Это работает только когда
userBasedFullPageScreenshot
установлено вtrue
waitForFontsLoaded
- Тип:
boolean
- Обязательно: Нет
- По умолчанию:
true
- Используется с: Все методы
- Поддерживается: Веб, Гибридное приложение (Webview)
Шрифты, включая сторонние шрифты, могут загружаться синхронно или асинхронно. Асинхронная загрузка означает, что шрифты могут загрузиться после того, как WebdriverIO определит, что страница полностью загружена. Чтобы предотвратить проблемы рендеринга шрифтов, этот модуль по умолчанию будет ждать загрузки всех шрифтов перед созданием снимка экрана.
Опции сравнения (проверки)
Опции сравнения - это опции, которые влияют на способ выполнения сравнения с помощью ResembleJS.
- Все опции из Опций сохранения могут использоваться для методов сравнения
- Все опции сравнения могут использоваться как при создании экземпляра сервиса, так и для каждого отдельного метода проверки. Если опция метода имеет тот же ключ, что и опция, установленная при создании экземпляра сервиса, то опция сравнения метода переопределит значение опции сравнения сервиса.
- Все опции могут использоваться для:
- Веб
- Гибридного приложения
- Нативного приложения
ignoreAlpha
- Тип:
boolean
- По умолчанию:
false
- Обязательно: нет
Сравнивать изображения и игнорировать альфа-канал.
blockOutSideBar
- Тип:
boolean
- По умолчанию:
true
- Обязательно: нет
- Примечание: Может использоваться только для
checkScreen()
. Это только для iPad
Автоматически блокировать боковую панель для iPad в альбомном режиме во время сравнений. Это предотвращает сбои на нативном компоненте вкладки/приватности/закладок.
blockOutStatusBar
- Тип:
boolean
- По умолчанию:
true
- Обязательно: нет
- Примечание: Это только для мобильных устройств
Автоматически блокировать строку состояния и адресную строку во время сравнений. Это предотвращает сбои на времени, WiFi или состоянии батареи.
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
Опции папок
Папка базового изображения и папки снимков экрана (актуальная, различия) - это опции, которые можно установить при создании экземпляра плагина или метода. Чтобы установить опции папок для конкретного метода, передайте опции папок в объект опций метода. Это может использоваться для:
- Веб
- Гибридного приложения
- Нативного приложения
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'),
}
// Вы можете использовать это для всех методов
await expect(
await browser.checkFullPageScreen("checkFullPage", methodOptions)
).toEqual(0)
actualFolder
- Тип:
string
- Обязательно: нет
Папка для снимка, который был сделан в тесте.
baselineFolder
- Тип:
string
- Обязательно: нет
Папка для базового изображения, которое используется для сравнения.
diffFolder
- Тип:
string
- Обязательно: нет
Папка для изображения различий, созданного ResembleJS.