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

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

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

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

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

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

Настройка тестирования на реальных устройствах через 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 дней в зависимости от сложности интеграции. Стоимость рассчитывается индивидуально после аудита. Свяжитесь с нами — получите консультацию и предварительную оценку.

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

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

  • Разработка мобильного приложения для компании FEEDME
    Разработка мобильного приложения для компании FEEDME
    1009
  • Разработка мобильного приложения для компании XOOMER
    Разработка мобильного приложения для компании XOOMER
    902
  • Разработка мобильного приложения для компании RHL
    Разработка мобильного приложения для компании RHL
    1331
  • Разработка мобильного приложения для компании ZIPPY
    Разработка мобильного приложения для компании ZIPPY
    1179
  • Разработка мобильного приложения для компании Affhome
    Разработка мобильного приложения для компании Affhome
    1106
  • Разработка мобильного приложения для компании FLAVORS
    Разработка мобильного приложения для компании FLAVORS
    713