BrowserStack — это облачный сервис для тестирования веб-приложений на различных реальных устройствах и браузерах. Он позволяет запускать тесты на реальных мобильных устройствах, а не на симуляторах или эмуляторах, что дает более точные и реальные результаты. Платформа поддерживает как мобильные устройства на базе Android и iOS, так и десктопные браузеры. Интеграция с BrowserStack в WebdriverIO открывает возможности для более качественного тестирования.
Тестирование на реальных устройствах имеет несколько преимуществ:
Для интеграции WebdriverIO с BrowserStack необходимо выполнить несколько шагов.
Установка зависимостей Для начала нужно
установить сам WebdriverIO и необходимые пакеты. В случае работы с
BrowserStack потребуется установить
@wdio/browserstack-service:
npm install @wdio/browserstack-service --save-devКонфигурация файла wdio.conf.js Чтобы подключиться к BrowserStack, необходимо настроить конфигурационный файл WebdriverIO. В этом файле будет прописана информация для подключения к BrowserStack, а также выбранное устройство и браузер.
Пример конфигурации:
exports.config = {
user: process.env.BROWSERSTACK_USER, // Ваш логин BrowserStack
key: process.env.BROWSERSTACK_KEY, // Ваш ключ BrowserStack
services: ['browserstack'],
capabilities: [{
'bstack:options': {
os: 'OS X',
osVersion: 'Big Sur',
device: 'iPhone 12',
realMobile: true,
local: 'false',
projectName: 'My Project',
buildName: 'My Build',
name: 'Mobile Test on BrowserStack'
},
browserName: 'Safari',
maxInstances: 1
}],
specs: ['./tests/**/*.js'],
logLevel: 'info',
};
Здесь ключевые параметры:
user и key — ваши учетные данные для
BrowserStack.services: ['browserstack'] — подключение сервиса
BrowserStack.capabilities указывается, какое устройство и
браузер будут использоваться для тестирования.realMobile: true — указывает на использование реального
устройства.local: 'false' — отключает локальные тесты.Запуск тестов После настройки конфигурации можно запускать тесты на реальных устройствах. Для этого достаточно использовать стандартную команду WebdriverIO:
npx wdio run wdio.conf.js
Это запустит тесты на реальном устройстве, выбранном в конфигурации.
Сетевые условия Работая с реальными устройствами, следует учитывать возможные сетевые ограничения, такие как скорость интернета и сетевые задержки. BrowserStack предлагает возможность выбирать различные сети и симулировать их для тестирования производительности.
Совместимость с мобильными операционными системами Для мобильных приложений, тестируемых на устройствах с iOS или Android, важно проверить их совместимость с различными версиями операционных систем. BrowserStack позволяет запускать тесты на нескольких версиях iOS и Android, что важно для поддержания широкой совместимости.
Ограничения в управлении устройствами Хотя BrowserStack предоставляет доступ к большому числу реальных устройств, существует некоторое ограничение на одновременное количество сессий. Если проект требует тестирования на множестве устройств одновременно, важно следить за количеством параллельных сессий.
BrowserStack поддерживает локальное тестирование, что позволяет
проверять функциональность веб-приложений, находящихся в локальной сети
или еще не развернутых на публичных серверах. Для этого можно
использовать параметр local: 'true'.
Пример конфигурации для локальных тестов:
capabilities: [{
'bstack:options': {
os: 'Windows',
osVersion: '10',
device: 'Samsung Galaxy S21',
realMobile: true,
local: 'true',
localIdentifier: 'my-local-testing-session',
projectName: 'Local Testing Project'
},
browserName: 'Chrome',
maxInstances: 1
}]
Этот параметр позволяет проксировать локальный сервер через BrowserStack и запускать тесты с реальных устройств на локальной машине.
BrowserStack предоставляет инструменты для отладки тестов:
Стоимость BrowserStack — это платный сервис, и стоимость зависит от выбранного тарифа. Для небольших проектов можно воспользоваться бесплатным доступом с ограниченным функционалом, но для полноценной работы рекомендуется приобрести платную подписку.
Поддержка устройств Несмотря на то, что BrowserStack поддерживает большое количество устройств и браузеров, возможны ситуации, когда нужное устройство или версия браузера отсутствует в списке. В таких случаях можно обратиться в службу поддержки для добавления нужных конфигураций.
Ограничения на количество параллельных тестов Бесплатный тариф и базовые планы имеют ограничения на количество параллельных сессий. Для более масштабных проектов потребуется платная подписка с поддержкой большего числа параллельных тестов.
Интеграция WebdriverIO с BrowserStack предоставляет разработчикам мощные инструменты для тестирования веб-приложений на реальных устройствах. Это позволяет значительно повысить качество тестирования, обеспечивая большую точность и выявление проблем, которые могут быть упущены при использовании эмуляторов и симуляторов. WebdriverIO и BrowserStack — отличная комбинация для автоматизации тестов в реальных условиях с минимальными затратами времени на настройку.