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 можна знайти у визначеннях типів проєкту.