getContexts
Метод WebdriverIO getContexts є вдосконаленою версією стандартної команди Appium contexts
(та попередньої команди WebdriverIO getContexts). Він надає детальну та корисну інформацію
про доступні контексти в сесії мобільного додатку, вирішуючи обмеження стандартних методів Appium.
Як працюють веб-представлення та чим цей метод допомагає
Для отримання докладнішої інформації зверніться до документації по гібридним додаткам. Нижче наведено короткий огляд проблем, які вирішує команда getContexts:
Проблеми Android
- Одне веб-представлення (наприклад,
WEBVIEW_{packageName}) може містити кілька сторінок (подібно до вкладок браузера). - Стандартні методи Appium не включають деталі про ці сторінки, такі як
title,urlабо видимість, що ускладнює ідентифікацію потрібної сторінки та може призвести до нестабільності.
Проблеми iOS
- Стандартний метод Appium повертає лише загальні ідентифікатори веб-представлень (наприклад,
WEBVIEW_{id}) без додаткових метаданих. - Це ускладнює визначення, яке веб-представлення відповідає цільовому екрану додатка.
Вдосконалений метод getContexts вирішує ці проблеми, повертаючи детальні об'єкти контексту, які включають:
- Для Android:
title,url,packageName,webviewPageIdта деталі макету (screenX,screenY,widthтаheight). - Для iOS:
bundleId,titleтаurl.
Ці вдосконалення роблять налагодження та взаємодію з гібридними додатками більш надійною.