CLOUSD
Создать аккаунт

Тестирование Android-приложений на настоящих моделях

Тестирование Android-приложений на моделях настоящих телефонов

Тестирование Android-приложений на моделях тех телефонов, которые действительно есть у ваших пользователей: 150+ моделей от 11 брендов, Android с 12 по 17. Перед каждым прогоном — возврат к чистому снапшоту, для параллельных прогонов — клоны, а к каждому телефону — доступ через ADB и API.

150+моделей телефонов A12–17версий Android для запуска 11брендов
Тестовая матрицапар, доступных сегодня: 15
модельA13A14A15A16A17
Pixel 9
Galaxy S24
Galaxy A16 5G
Pixel 7
Galaxy A54 5G
moto g (2025)
можно запустить сегоднянедоступно для этой модели
Данные из реестра моделей в реальном времени/devices/

Телефоны, которые есть у ваших пользователей.

Ферма Android-устройств без своей лаборатории: от бюджетных Galaxy A до Pixel этого года. Каждая модель собрана по слепку настоящего аппарата и сверена с ним, прежде чем её можно запустить. Это не эмулятор: Android работает нативно на ARM-серверах с профилем этой модели.

150+моделей в каталоге
11брендов, от Samsung до Nothing
A12–17версия Android выбирается для каждого телефона
2020–2026лет выпуска в каталоге

Вёрстка на настоящих экранах

Разрешение, плотность пикселей и особенности настоящей матрицы — вёрстка, скриншоты и визуальные проверки совпадают с устройством.

Графика как с завода

Строки производителя и рендерера GPU, версии OpenGL и Vulkan настоящего чипсета — приложение видит то железо, которое ожидает.

Google Play внутри

Сервисы Google Play и Play Store установлены как на телефоне — для приложений, которым они нужны для входа, оплаты или обновлений.

Чистый телефон для каждого прогона.

Приведите телефон в состояние, которого ждут ваши тесты, сделайте снапшот и возвращайте телефон к нему перед каждым прогоном. Если одного телефона мало, клонируйте новые из того же снапшота. Восстановление чистого снапшота — одним запросом.

  • Сброс перед каждым прогономОдин запрос откатывает телефон к чистому снапшоту, и каждый прогон начинается с одного и того же состояния.
  • Клоны для параллельных прогоновНовые телефоны из того же снапшота, каждый со своей личностью, чтобы разделить набор тестов между устройствами.
  • Ночные копииСнапшоты телефонов каждую ночь по расписанию; остановленные телефоны в ожидании ничего не стоят.
qa01 · снапшот v20Pixel 9 · Android 16
Установкавашей сборки
Снапшотчистое состояние
Тестына любой копии
Восстановлениеперед следующим прогоном
qa02qa03qa04qa05qa06qa07
Клоны из v20, у каждого своя личностьPOST /clone

ADB — когда нужно спуститься ниже.

У каждого телефона своё реле ADB. Оно выключено, пока вы не откроете его для своих IP на заданное время, и отклоняет всё, что может навредить устройству.

  • Выключено, пока вы не включитеВключается для каждого телефона со списком разрешённых адресов — до 20 IP или CIDR.
  • Закрывается самоПо умолчанию через 24 часа, максимум через 7 дней; неактивные сессии закрываются через 30 минут.
  • Одноразовый код входаПоказывается один раз; неверные коды блокируют реле. До 3 сессий на телефон, push и pull — до 2 GiB за сессию.
  • Опасные службы под запретомroot, remount, disable-verity, reverse, reboot, tcpip, usb, jdwp, sideload и restore отклоняются всегда. Каждая сессия записывается в журнал.
Терминал
# 1. open ADB on qa01 for your IP, 24 hours (dashboard or API)
curl -X POST https://api.clousd.com/v1/devices/qa01/adb \
  -H "Authorization: Bearer $CLOUSD_KEY" \
  -H "Content-Type: application/json" \
  -d '{"allow_ips":["203.0.113.7"],"ttl_hours":24}'
# → connect command and a one-time code, shown once

# 2. connect and sign in with the code
adb connect $HOST:$PORT
adb -s $HOST:$PORT shell clousd-login $CODE

# 3. work as usual
adb -s $HOST:$PORT install app-debug.apk
adb -s $HOST:$PORT shell pm list packages | grep example
adb -s $HOST:$PORT logcat -d | tail -n 50

Подключите к CI.

Всё, что нужно тестовому прогону, — это REST-запросы к https://api.clousd.com/v1. Долгие операции отвечают 202 и задачей, которую можно опрашивать, а ключ можно ограничить тестовыми телефонами и правом чтения или управления. См. REST API и реле ADB и маршруты для CI.

POST/devices/{id}/snapshots/{snap}/restoreСброс к чистому
POST/devices/{id}/apkУстановка сборки
POST/devices/{id}/actionОткрыть, нажать, ввести
GET/devices/{id}/screenshotЭкран сейчас
GET/devices/{id}/logsСвежий logcat
POST/devices/{id}/snapshots/{snap}/cloneПараллельная копия
GET/jobs/{id}Опрос задачи
Справочник API
API=https://api.clousd.com/v1
AUTH="Authorization: Bearer $CLOUSD_KEY"

# reset qa01 to its clean snapshot and wait for the job
JOB=$(curl -s -X POST -H "$AUTH" \
  $API/devices/qa01/snapshots/v20/restore | jq -r .job.id)
until [ "$(curl -s -H "$AUTH" $API/jobs/$JOB | jq -r .job.state)" \
  != running ]; do sleep 3; done

# install this build and open it
curl -s -H "$AUTH" -F apk=@app-release.apk $API/devices/qa01/apk
curl -s -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"op":"open_app","package":"com.example.app"}' \
  $API/devices/qa01/action

# keep the evidence
curl -s -H "$AUTH" $API/devices/qa01/screenshot -o after.png
curl -s -H "$AUTH" $API/devices/qa01/logs > logcat.txt

Тестируйте приложение в разных странах.

Дайте телефону выход в другой стране — и за ним последуют часовой пояс, язык, клавиатура, магазин и страна SIM. Вы увидите приложение так, как его видят пользователи там. Следите за прогоном в реальном времени, не вставая из-за стола.

Живой экранWebRTC · касания и клавиатура
4000 kbps
2500 kbps
1500 kbps
800 kbps

Если ваше соединение проседает, поток снижает качество, а когда оно восстанавливается — повышает обратно. Multi-view показывает много экранов сразу, а синхронный ввод повторяет ваши действия на выбранных телефонах.

qa01qa02qa03qa04
Адаптивное качество4000 → 800
qa-jp · Galaxy A16 5GРаботает
Выход в сетьМобильный · Япония
Часовой поясAsia/Tokyo
Язык日本語
Магазин и страна SIMЯпония
РегионJP, Токио
СШАВеликобританияГерманияБразилияИндияСингапурЯпонияАвстралия
Часовой пояс, язык, магазин и SIM следуют за выходомрегионов: 11

Вопросы о тестировании приложений

Остались вопросы? Напишите в поддержку — ответит живой человек, обычно в течение рабочего дня.

Это эмулятор?

Нет. Android работает нативно на ARM-серверах с профилем модели настоящего телефона, поэтому приложение видит эту модель, а не безликое устройство эмулятора. Облачный телефон или эмулятор

Есть ли бесплатный пробный период?

Да. Первый телефон работает 30 минут бесплатно, без карты и без пополнения. Дальше — поминутная оплата, без платы за пользователей: $0.004 в минуту, пока телефон работает.

Можно ли выбрать точную версию Android?

Да, для каждого телефона. У каждой модели в каталоге указаны версии, которые можно запустить сегодня, — Android с 12 по 17. Android 12–14 идут по базовой цене; Android 15 дороже на 10%, Android 16 и 17 — на 25%.

Как сбросить телефон между прогонами?

Один раз сделайте снапшот в чистом состоянии и восстанавливайте его перед каждым прогоном. Это один запрос к API, который отвечает 202 и задачей для опроса по адресу /v1/jobs/{id}.

Можно ли запускать набор тестов параллельно?

Да. Клонируйте новые телефоны из чистого снапшота, каждый со своей личностью, и разделите набор между ними — или запустите одни и те же шаги на целой группе со случайным разбросом.

ADB открыт в интернет?

Нет. ADB по умолчанию выключен. Вы открываете его для каждого телефона — для списка до 20 IP или CIDR и на заданное время (по умолчанию 24 часа, максимум 7 дней), входите по одноразовому коду, а каждая сессия записывается в журнал.

Можно ли установить свой APK?

Да: загрузите его в панели, отправьте на POST /v1/devices/{id}/apk или поставьте через реле командой adb install.

Может ли тесты прогонять ИИ-агент?

Да, в раннем доступе: агент смотрит на экран и его элементы, затем нажимает и вводит текст через запросы observe и act, каждый раз начиная с чистого снапшота. Подробнее — тестирование силами агента.

Можно ли проверить, как приложение ведёт себя в другой стране?

Да. Дайте телефону выход в этой стране — и за ним последуют часовой пояс, язык, клавиатура, магазин и страна SIM. Выберите регион, ближайший к вашей команде, чтобы экран и ADB отзывались быстро.

Пробный период

Запустите приложение на настоящей модели за минуту.

  • Первые 30 минут бесплатны, без карты.
  • Выберите модель и версию Android.
  • Установите свою сборку и начинайте тестировать.
Остановленный телефон бесплатенОдин пробный период на аккаунт, телефон сохраняет всё