Устройства
Управление устройствами
Как запускать и останавливать телефон, управлять им и что означает каждое состояние.
Состояния
| Состояние | Значение |
|---|---|
| starting | Создаётся, запускается или перезапускается. Для него выполняется задание. |
| работают | Включён и доступен из панели, через API и ADB. |
| error | Работает, но последняя проверка состояния не прошла. |
| остановлен | Выключен. Приложения и данные сохраняются. Примерно через 10 минут остановленный телефон уезжает в хранилище; кнопка «Запустить» возвращает его за несколько минут. |
Запуск, остановка, сброс и удаление
GET /v1/devices # your phones POST /v1/devices/{name}/start POST /v1/devices/{name}/stop POST /v1/devices/{name}/restart POST /v1/devices/{name}/reset # wipe apps and data, same model and Android DELETE /v1/devices/{name} # for good
Запуск, остановка и перезапуск отвечают 202 с заданием; следите за ним через GET /v1/jobs/{id}. Сброс за 1–5 минут возвращает телефон в состояние нового. Остановка сохраняет всё, сброс и удаление — нет. Удаление стирает телефон вместе с данными, и отменить его нельзя. Запуск телефона, который давно остановлен, может занять пару минут.
Скриншоты и отдельные шаги
GET /v1/devices/{name}/screenshot?w=540 # PNG, or a smaller JPEG with w
POST /v1/devices/{name}/action {"op":"open_app","package":"com.android.chrome"}action выполняет один шаг: open_app, close_app, url, tap, swipe, text, key, scroll, а также текстовые помощники find_text, tap_text, wait_text, screen_text. Для цикла агента используйте Observe и act.
Имена
У каждого телефона есть имя в API, например c3f9a41d2, label (имя в панели или «Модель #N») и number. Переименовать телефон можно через POST /v1/devices/{name}/label.