Опції Методів
Опції методів - це опції, які можна встановити для кожного методу. Якщо опція має такий самий ключ, як опція, яка була встановлена під час створення екземпляра плагіна, ця опція методу перевизначить значення опції плагіна.
- Всі опції з Опцій Збереження можуть бути використані для методів Порівняння
- Всі опції порівняння можуть бути використані як під час створення екземпляру сервісу, так і для кожного окремого методу перевірки. Якщо опція методу має той самий ключ, що й опція, яка була встановлена під час створення екземпляру сервісу, то опція порівняння методу перевизначить значення опції порівняння сервісу.
- Всі опції можуть бути використані для наступних контекстів додатків, якщо не зазначено інше:
- Web
- Гібридний додаток
- Нативний додаток
- Наведені нижче приклади використовують методи
save*, але також можуть бути застосовані для методівcheck*
Опції Збереження
disableBlinkingCursor
- Тип:
boolean - Обов'язковий: Ні
- За замовчуванням:
false - Використовується з: Усіма методами
- Підтримувані контексти додатків: Web, Гібридний додаток (Webview)
Увімкнути/вимкнути "блимання" курсору у всіх input, textarea, [contenteditable] в додатку. Якщо вс тановлено true, курсор буде встановлено як transparent перед зробленням знімку екрану
і відновлено після завершення.
await browser.saveScreen(
'sample-tag',
{
disableBlinkingCursor: true
}
)
disableCSSAnimation
- Тип:
boolean - Обов'язковий: Ні
- За замовчуванням:
false - Використовується з: Усіма методами
- Підтримувані контексти додатків: Web, Гібридний додаток (Webview)
Увімкнути/вимкнути всі CSS-анімації в додатку. Якщо встановлено true, всі анімації будуть вимкнені перед зробленням знімку екрану
і відновлені після завершення
await browser.saveScreen(
'sample-tag',
{
disableCSSAnimation: true
}
)
enableLegacyScreenshotMethod
- Тип:
boolean - Обов'язковий: Ні
- За замовчуванням:
false - Використовується з: Усіма методами
- Підтримувані контексти додатків: Web, Гібридний додаток (Webview)
Використовуйте цю опцію, щоб повернутися до "старішого" методу знімків екрану, заснованого на протоколі W3C-WebDriver. Це може бути корисно, якщо ваші тести залежать від існуючих базових зображень або якщо ви працюєте в середовищах, які не повністю підтримують новіші знімки на основі BiDi. Зверніть увагу, що увімкнення цієї опції може привести до знімків з дещо іншою роздільною здатністю або якістю.
await browser.saveScreen(
'sample-tag',
{
enableLegacyScreenshotMethod: true
}
)
enableLayoutTesting
- Тип:
boolean - Обов'язковий: Ні
- За замовчуванням:
false - Використовується з: Усіма методами
- Підтримувані контексти додатків: Web, Гібридний додаток (Webview)
Це приховає весь текст на сторінці, щоб для порівняння використовувався лише макет. Приховування буде здійснено додаванням стилю 'color': 'transparent !important' до кожного елементу.
Для виводу дивіться Вихідні дані тесту.
Використовуючи цей прапорець, кожен елемент, що містить текст (тобто не тільки p, h1, h2, h3, h4, h5, h6, span, a, li, але також div|button|..), отримає цю властивість. Немає опції для налаштування цього.
await browser.saveScreen(
'sample-tag',
{
enableLayoutTesting: true
}
)
hideScrollBars
- Тип:
boolean - Обов'язковий: Ні
- За замовчуванням:
true - Використовується з: Усіма методами
- Підтримувані контексти додатків: Web, Гібридний додаток (Webview)
Приховати смуги прокрутки в додатку. Якщо встановлено значення true, всі смуги прокрутки будуть вимкнені перед зробленням знімку екрану. За замовчуванням встановлено true, щоб запобігти додатковим проблемам.
await browser.saveScreen(
'sample-tag',
{
hideScrollBars: false
}
)
hideElements
- Тип:
array - Обов'язковий: Ні
- Використовується з: Усіма методами
- Підтримувані контексти додатків: Web, Гібридний додаток (Webview)
Цей метод може приховати один або декілька елементів, додаючи властивість visibility: hidden до них, шляхом надання масиву е лементів.
await browser.saveScreen(
'sample-tag',
{
hideElements: [
await $('#element-1'),
await $('#element-2'),
]
}
)
removeElements
- Тип:
array - Обов'язковий: Ні
- Використовується з: Усіма методами
- Підтримувані контексти додатків: Web, Гібридний додаток (Webview)
Цей метод може видалити один або декілька елементів, додаючи властивість display: none до них, шляхом надання масиву елементів.
await browser.saveScreen(
'sample-tag',
{
removeElements: [
await $('#element-1'),
await $('#element-2'),
]
}
)
resizeDimensions
- Тип:
object - Обов'язковий: Ні
- За замовчуванням:
{ top: 0, right: 0, bottom: 0, left: 0} - Використовується з: Тільки для
saveElementабоcheckElement - Підтримувані контексти додатків: Web, Гібридний додаток (Webview), Нативний додаток
Об'єкт, який повинен містити кількість пікселів top, right, bottom та left, які повинні зробити вирізаний елемент більшим.
await browser.saveElement(
'sample-tag',
{
resizeDimensions: {
top: 50,
left: 100,
right: 10,
bottom: 90,
},
}
)
userBasedFullPageScreenshot
- Тип:
boolean - Обов'язковий: Ні
- За замовчуванням:
false - Використовується з: Тільки для
saveFullPageScreen,saveTabbablePage,checkFullPageScreenабоcheckTabbablePage - Підтримувані контексти додатків: Web, Гібридний додаток (Webview)
Якщо встановлено true, ця опція включає стратегію прокрутки та зшивання для захоплення повних знімків екрану.
Замість використання нативних можливостей браузера для знімків екрану, вона вручну прокручує сторінку і зшиває кілька знімків разом.
Цей метод особливо корисний для сторінок з лінивим завантаженням контенту або складними макетами, які вимагають прокрутки для повного відображення.
await browser.saveScreen(
'sample-tag',
{
userBasedFullPageScreenshot: true
}
)
fullPageScrollTimeout
- Тип:
number - Обов'язковий: Ні
- За замовчуванням:
1500 - Використовується з: Тільки для
saveFullPageScreenабоsaveTabbablePage - Підтримувані контексти додатків: Web, Гібридний додаток (Webview)
Час очікування в мілісекундах після прокрутки. Це може допомогти визначити сторінки з лінивим завантаженням.
ПРИМІТКА: Це працює тільки коли
userBasedFullPageScreenshotвстановлено вtrue
await browser.saveFullPageScreen(
'sample-tag',
{
fullPageScrollTimeout: 3 * 1000
}
)
hideAfterFirstScroll
- Тип:
array - Обов'язковий: Ні
- Використовується з: Тільки для
saveFullPageScreenабоsaveTabbablePage - Підтримувані контексти додатків: Web, Гібридний додаток (Webview)
Цей метод приховає один або кілька елементів, додаючи властивість visibility: hidden до них, надавши масив елементів.
Це буде корисно, коли сторінка, наприклад, містить липкі елементи, які прокручуються разом зі сторінкою, якщ о сторінка прокручується, але даватимуть дратівливий ефект при створенні повного знімку сторінки
ПРИМІТКА: Це працює тільки коли
userBasedFullPageScreenshotвстановлено вtrue
await browser.saveFullPageScreen(
'sample-tag',
{
hideAfterFirstScroll: [
await $('#element-1'),
await $('#element-2'),
]
}
)
waitForFontsLoaded
- Тип:
boolean - Обов'язковий: Ні
- За замовчуванням:
true - Використовується з: Усіма методами
- Підтримувані контексти додатків: Web, Гібридний додаток (Webview)
Шрифти, включаючи сторонні шрифти, можуть завантажуватися синхронно або асинхронно. Асинхронне завантаження означає, що шрифти можуть завантажитися після того, як WebdriverIO визначить, що сторінка повністю завантажена. Щоб запобігти проблемам рендерингу шрифтів, цей модуль за замовчуванням буде чекати, поки всі шрифти будуть завантажені перед зробленням знімку екрану.
await browser.saveScreen(
'sample-tag',
{
waitForFontsLoaded: true
}
)
Опції порівняння (перевірки)
Опції порівняння — це опції, які впливають на спосіб виконання порівняння за допомогою ResembleJS.
ignoreAlpha
- Тип:
boolean - За замовчуванням:
false - Обов'язковий: Ні
- Використовується з: Усіма Метода ми перевірки
- Підтримувані контексти додатків: Усі
Порівнювати зображення та ігнорувати альфа-канал.
await browser.checkScreen(
'sample-tag',
{
ignoreAlpha: true
}
)
blockOutSideBar
- Тип:
boolean - За замовчуванням:
true - Обов'язковий: Ні
- Використовується з: Може використовуватися тільки з
checkScreen(). Це тільки для iPad - Підтримувані контексти додатків: Усі
Автоматично блокувати бічну панель для iPad в альбомному режимі під час порівнянь. Це запобігає помилкам на нативному компоненті вкладки/приватного режиму/закладок.
await browser.checkScreen(
'sample-tag',
{
blockOutSideBar: true
}
)
blockOutStatusBar
- Тип:
boolean - За замовчуванням:
true - Обов'язковий: Ні
- Використовується з: Це тільки для мобільних пристроїв
- Підтримувані контексти додатків: Гібридні (нативна частина) та нативні додатки
Автоматично блокувати рядок стану та адресний рядок під час порівнянь. Це запобігає помилкам щодо часу, Wi-Fi або стану батареї.
await browser.checkScreen(
'sample-tag',
{
blockOutStatusBar: true
}
)