Перейти до основного вмісту

Опції методів

Опції методів - це опції, які можна встановити для кожного методу. Якщо опція має такий самий ключ, як опція, встановлена під час створення екземпляра плагіна, ця опція методу перевизначить значення опції плагіна.

Опції збереження

disableBlinkingCursor

  • Тип: boolean
  • Обов'язково: Ні
  • За замовчуванням: false
  • Підтримується: Web, Hybrid App (Webview)

Увімкнути/вимкнути "блимання" курсора у всіх input, textarea, [contenteditable] в додатку. Якщо встановлено true, курсор буде встановлено на transparent перед створенням знімка екрана і відновлено після завершення

disableCSSAnimation

  • Тип: boolean
  • Обов'язково: Ні
  • За замовчуванням: false
  • Підтримується: Web, Hybrid App (Webview)

Увімкнути/вимкнути всі CSS-анімації в додатку. Якщо встановлено true, всі анімації будуть вимкнені перед створенням знімка екрана і відновлені після завершення

enableLegacyScreenshotMethod

  • Тип: boolean
  • Обов'язково: Ні
  • За замовчуванням: false
  • Підтримується: Web, Hybrid App (Webview)

Використовуйте цю опцію, щоб повернутися до "старішого" методу знімків екрана, заснованого на протоколі W3C-WebDriver. Це може бути корисним, якщо ваші тести покладаються на існуючі базові зображення або якщо ви працюєте в середовищах, які не повністю підтримують новіші знімки екрана на основі BiDi. Зауважте, що увімкнення цього може призвести до створення знімків екрана з дещо іншою роздільною здатністю або якістю.

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

Цей метод може приховати 1 або кілька елементів, додавши до них властивість visibility: hidden, надавши масив елементів.

removeElements

  • Тип: array
  • Обов'язково: ні
  • Використовується з: Всіма методами
  • Підтримується: Web, Hybrid App (Webview), Native App

Цей метод може видалити 1 або кілька елементів, додавши до них властивість display: none, надавши масив елементів.

resizeDimensions

  • Тип: object
  • Обов'язково: ні
  • За замовчуванням: { top: 0, right: 0, bottom: 0, left: 0}
  • Використовується з: Тільки для saveElement або checkElement
  • Підтримується: Web, Hybrid App (Webview), Native App

Об'єкт, який повинен містити кількість пікселів top, right, bottom і left, які потрібно зробити для збільшення вирізаного елемента.

userBasedFullPageScreenshot

  • Тип: boolean
  • Обов'язково: Ні
  • За замовчуванням: false
  • Підтримується: Web, Hybrid App (Webview)

Коли встановлено значення true, ця опція вмикає стратегію прокрутки та зшивання для створення повноекранних знімків. Замість використання вбудованих можливостей браузера для створення знімків, вона вручну прокручує сторінку і зшиває кілька знімків разом. Цей метод особливо корисний для сторінок з контентом, що завантажується лінивим способом або складними макетами, які потребують прокрутки для повного рендерингу.

fullPageScrollTimeout

  • Тип: number
  • Обов'язково: Ні
  • За замовчуванням: 1500
  • Використовується з: Тільки для saveFullPageScreen або saveTabbablePage
  • Підтримується: Web

Час очікування в мілісекундах після прокрутки. Це може допомогти ідентифікувати сторінки з лінивим завантаженням.

ПРИМІТКА: Це працює лише коли userBasedFullPageScreenshot встановлено на true

hideAfterFirstScroll

  • Тип: array
  • Обов'язково: ні
  • Використовується з: Тільки для saveFullPageScreen або saveTabbablePage
  • Підтримується: Web

Цей метод приховає один або кілька елементів, додавши до них властивість visibility: hidden, надавши масив елементів. Це буде зручно, коли сторінка, наприклад, містить липкі елементи, які прокручуються разом із сторінкою, якщо сторінка прокручується, але дадуть дратівливий ефект, коли робиться знімок повної сторінки

ПРИМІТКА: Це працює лише коли userBasedFullPageScreenshot встановлено на true

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

Опції папок

Папка базових знімків та папки знімків екрана (фактичних, різниці) є опціями, які можна встановити під час створення екземпляра плагіна або методу. Щоб встановити опції папок для певного методу, передайте опції папок в об'єкт опцій методів. Це можна використовувати для:

  • 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.

Welcome! How can I help?

WebdriverIO AI Copilot