Настройка тестирования на реальных устройствах через BrowserStack

Настройка тестирования на реальных устройствах через BrowserStack При запуске мобильного приложения клиенты жалуются на краши и зависания на конкретных моделях — на эмуляторах всё зелёно. Знакомая ситуация? Эмуляторы не эмулируют реальные сценарии: фрагментацию экранов, версии API, глюки сенсора

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Настройка тестирования на реальных устройствах через BrowserStack
Средний
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Настройка тестирования на реальных устройствах через BrowserStack

При запуске мобильного приложения клиенты жалуются на краши и зависания на конкретных моделях — на эмуляторах всё зелёно. Знакомая ситуация? Эмуляторы не эмулируют реальные сценарии: фрагментацию экранов, версии API, глюки сенсора или поведение чипов. По статистике, до 40% critical-багов в продакшене связаны с платформенно-зависимыми ошибками, которые не воспроизводятся на эмуляторах. BrowserStack App Automate решает эту проблему, предоставляя облачную ферму реальных устройств с поддержкой Appium, Espresso и XCUITest. Мы настраиваем всю инфраструктуру под ключ и интегрируем её в ваш CI за 2–3 дня. Средняя стоимость подписки для небольшой команды — от $200/мес, что существенно дешевле покупки и обслуживания собственного парка устройств.

Как BrowserStack отличается от Firebase Test Lab?

Характеристика BrowserStack Firebase Test Lab
Интерактивный режим App Live — live-сессии Только автоматизация
Параллельные сессии От 5 (зависит от тарифа) Фиксированные шарды
Локальный бэкенд BrowserStack Local SOCKS-прокси (сложнее)
Поддерживаемые фреймворки Appium, Espresso, XCUITest Appium, XCTest, Gameloop
Устройства в реальном времени 3000+ моделей ~200 моделей

Например, в одном из наших проектов — финтех-приложение с 2 млн пользователей — после перехода с эмуляторов на BrowserStack выявили 30% новых багов, связанных с разными версиями WebView и камерами. Опыт нашей команды (5+ лет, 20+ проектов) позволяет избежать типичных ошибок: неправильный выбор устройств, игнорирование code signing для iOS или неверная настройка Push Notifications (APNs/FCM).

Какие устройства и ОС доступны?

BrowserStack покрывает практически все актуальные модели: от Samsung Galaxy S24, Google Pixel 8 до iPhone 15 Pro, iPad Pro M4. Поддерживаются версии iOS от 15 до 17 и Android от 11 до 14. Вы можете выбирать как новейшие флагманы, так и старые устройства для проверки обратной совместимости. Это особенно важно для приложений с долгой поддержкой legacy-устройств.

Подключение существующих Appium-тестов

Если Appium-тесты уже написаны, перевод на BrowserStack — это изменение capabilities и URL сервера. Ниже пример конфигурации для TypeScript:

// wdio.conf.ts (пример полной конфигурации) const capabilities = [ { platformName: 'Android', 'appium:deviceName': 'Samsung Galaxy S24', 'appium:platformVersion': '14.0', 'bstack:options': { userName: process.env.BROWSERSTACK_USERNAME, accessKey: process.env.BROWSERSTACK_ACCESS_KEY, appiumVersion: '2.6.0', projectName: 'MyApp E2E Tests', buildName: `Build ${process.env.BUILD_NUMBER}`, sessionName: 'Login Flow', local: false, // для локального тестирования установить true }, 'appium:app': process.env.BROWSERSTACK_APP_ID || 'bs://app_hash_from_upload', }, ]; export const config = { maxInstances: 5, capabilities, services: [['browserstack', {}]], }; 

Загрузка APK перед тестами выполняется через REST API или browserstack-sdk. Хэш приложения живёт 30 дней, повторная загрузка не нужна, если билд не менялся.

Как интегрировать нативные тесты (Espresso/XCUITest)?

BrowserStack поддерживает нативный запуск без Appium-сервера — напрямую через Espresso (Android) и XCUITest (iOS). Это быстрее и стабильнее. Для Espresso используем CLI:

browserstack-sdk ./gradlew connectedAndroidTest 

Или через REST API с указанием testSuite (APK с androidTest-кодом). Результаты доступны в консоли BrowserStack и через API.

Параллельное тестирование: как ускорить прогон?

BrowserStack тарифицирует параллельные сессии. На стандартном плане — 5 параллельных устройств, на Team — 25. При правильной конфигурации можно сократить время выполнения с 40 минут до 8. Пример настройки в WebdriverIO:

// wdio.conf.ts (фрагмент) export const config = { maxInstances: 5, capabilities: [ { 'appium:deviceName': 'Samsung Galaxy S24', 'appium:platformVersion': '14.0' }, { 'appium:deviceName': 'Google Pixel 8', 'appium:platformVersion': '14.0' }, { 'appium:deviceName': 'iPhone 15 Pro', platformName: 'iOS', 'appium:platformVersion': '17' }, ], }; 

Каждый capability — отдельный поток. Тест-файлы распределяются автоматически.

Локальное тестирование: что делать с staging-бэкендом?

Если приложение обращается к локальному бэкенду (например, staging.company.com на 192.168.x.x), BrowserStack не достучится до него напрямую. Решение — BrowserStack Local. Подробная настройка описана в официальной документации BrowserStack Local.

./BrowserStackLocal --key $BROWSERSTACK_ACCESS_KEY --local-identifier my-tunnel 

В capabilities добавляем:

{ "bstack:options": { "local": true, "localIdentifier": "my-tunnel" } } 

Трафик от устройства на BrowserStack маршрутизируется через зашифрованный туннель на вашу машину. Работает и в CI — запускаем BrowserStackLocal как background-процесс перед тестами.

Интеграция в CI

Пример для GitHub Actions:

- name: Upload app to BrowserStack id: upload run: | RESPONSE=$(curl -s -u "${{ secrets.BS_USER }}:${{ secrets.BS_KEY }}" \ -X POST "https://api-cloud.browserstack.com/app-automate/upload" \ -F "[email protected]") echo "app_url=$(echo $RESPONSE | jq -r '.app_url')" >> $GITHUB_OUTPUT - name: Run tests run: npx wdio run wdio.conf.ts env: BROWSERSTACK_APP_ID: ${{ steps.upload.outputs.app_url }} BROWSERSTACK_USERNAME: ${{ secrets.BS_USER }} BROWSERSTACK_ACCESS_KEY: ${{ secrets.BS_KEY }} 
Детали настройки CI для нестандартных сценариев Если ваш проект использует монорепозиторий или требует нескольких билдов, мы добавляем параллельную загрузку и матрицу окружений. Также автоматически генерируем переменные для кастомных метаданных (номер билда, ветка).

Что входит в работу?

Мы настраиваем:

  • Загрузку билдов и автоматическое обновление app_url в CI
  • Capabilities для целевой матрицы устройств (iOS + Android, включая последние флагманы)
  • Параллельный запуск в рамках вашего тарифа
  • BrowserStack Local для тестирования против staging-бэкенда
  • Интеграцию с Allure или HTML-репортёром
  • Документацию по конфигурациям и обучение команды (1 сессия)

После завершения вы получаете готовый пайплайн, который стабильно прогоняет тесты 7/24. Гарантируем, что баги, связанные с платформой, будут выявлены до попадания в продакшен. Оставьте заявку на аудит вашего проекта — оценим задачу за один рабочий день и предложим оптимальные сроки настройки.

Сроки

От 2 до 5 дней в зависимости от сложности интеграции. Стоимость рассчитывается индивидуально после аудита. Свяжитесь с нами — получите консультацию и предварительную оценку.