Налаштування тестування на реальних пристроях через BrowserStack

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

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

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

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

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    894
  • 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 дні.

Як 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 днів залежно від складності інтеграції. Вартість розраховується індивідуально після аудиту. Зв'яжіться з нами — отримайте консультацію та попередню оцінку.