action
Команда action - це низькорівневий інтерфейс для надання віртуалізованих дій введення пристроїв у веб-браузер.
Окрім високорівневих команд, таких як scrollIntoView
, doubleClick
, API Actions забезпечує детальний
контроль над тим, що саме можуть робити призначені пристрої введення. WebdriverIO надає інтерфейс для 3 типів
джерел введення:
- клавіатурне введення для клавіатурних пристроїв
- введення вказівником для миші, пера або сенсорних пристроїв
- і введення колеса прокрутки для пристроїв з коліщатком прокрутки
Кожен ланцюжок команд дій повинен завершуватися викликом perform
, щоб запустити набір дій. Це
призводить до вивільнення дій та генерації подій. Ви
можете пропустити це, передавши true
(наприклад, browser.actions(...).perform(true)
).
Джерело введення клавіш
Джерело введення клавіш - це джерело введення, пов'язане з пристроєм типу клавіатури. Його можна викликати
за допомогою параметра типу key
. Наприклад:
browser.action('key')
Він повертає об'єкт KeyAction
, який підтримує такі дії:
down(value: string)
: генерує дію натискання клавішіup(value: string)
: генерує дію відпускання клавішіpause(ms: number)
: вказує, що джерело введення нічого не робить протягом певного тику
Спеціальні символи
Якщо ви хочете використовувати спеціальні символи, такі як Control
, Page Up
або Shift
, обов'язково імпортуйте
об'єкт Key
з пакету webdriverio
таким чином:
import { Key } from 'webdriverio'
Цей об'єкт дозволяє отримати доступ до юнікод-представлення потрібного спеціального символу.
Джерело введення вказівника
Джерело введення вказівника - це джерело введення, пов'язане з пристроєм типу вказівника. Тип можна
вказати під час виклику команди action
, наприклад:
browser.action('pointer', {
parameters: { pointerType: 'mouse' } // "mouse" - значення за замовчуванням, також можливо: "pen" або "touch"
})
Він повертає об'єкт PointerAction
, який підтримує такі дії:
down (button: 'left' | 'middle' | 'right')
: створює дію для натискання однієї клавішіdown (params: PointerActionParams)
: створює дію для натискання однієї клавіші з детальними параметрамиmove (x: number, y: number)
: створює дію для переміщення вказівника наx
таy
пікселів з області переглядуmove (params: PointerActionMoveParams)
: створює дію для переміщення вказівника наx
таy
пікселів від вказаногоorigin
.origin
може бути визначений як поточна позиція вказівника (наприклад, "pointer"), область перегляду (наприклад, "viewport") або центр певного елемента.up (button: 'left' | 'middle' | 'right')
: створює дію для відпускання однієї клавішіup (params: PointerActionUpParams)
: створює дію для відпускання однієї клавіші з детальними параметрамиcancel()
: дія, яка скасовує поточне введення цього вказівника.pause(ms: number)
: вказує, що джерело введення нічого не робить протягом певного тику
Детальну інформацію про типи параметрів PointerActionParams
, PointerActionMoveParams
та PointerActionUpParams
можна знайти у визначеннях типів проєкту.