Sauce Labs Device Cloud

Sauce Labs Device Cloud — это облачная платформа, предоставляющая доступ к широкому спектру реальных мобильных устройств и эмуляторов для автоматизации тестирования мобильных приложений. В рамках WebdriverIO интеграция с Sauce Labs позволяет запускать тесты на реальных устройствах без необходимости иметь физический доступ к ним. Это решение помогает сэкономить время и ресурсы, обеспечивая стабильность и точность тестирования в разных окружениях.

Sauce Labs — это сервис для автоматизированного тестирования, предлагающий облачный доступ к реальным устройствам и браузерам. Он поддерживает множество платформ, включая мобильные операционные системы, такие как iOS и Android, а также браузеры для веб-приложений. Sauce Labs предлагает широкий выбор устройств с различными версиями операционных систем, что делает тестирование приложений более гибким и масштабируемым.

Зачем использовать Sauce Labs с WebdriverIO?

WebdriverIO — это мощный инструмент для написания автоматических тестов, который поддерживает интеграцию с различными сервисами, включая Sauce Labs. Это позволяет разрабатывать, запускать и отслеживать тесты на реальных устройствах и эмуляторах через облако, обеспечивая тестирование в разных браузерах и на разных мобильных устройствах без необходимости поддерживать собственный парк устройств.

Некоторые из ключевых преимуществ использования Sauce Labs в связке с WebdriverIO:

  • Поддержка большого количества устройств: Sauce Labs предоставляет доступ к тысячам мобильных устройств с различными версиями операционных систем. Это позволяет тестировать приложения на всех возможных конфигурациях.
  • Гибкость и масштабируемость: Платформа автоматически управляет инфраструктурой, освобождая команду разработчиков и тестировщиков от необходимости заниматься настройкой и поддержанием серверов или физических устройств.
  • Удобство отчётов и анализа: Sauce Labs предоставляет подробные отчёты о выполнении тестов, включая скриншоты, видео и логи. Это помогает быстро находить и устранять ошибки.

Настройка интеграции WebdriverIO и Sauce Labs

Чтобы начать работать с Sauce Labs в WebdriverIO, необходимо выполнить несколько шагов для правильной настройки окружения.

  1. Создание аккаунта в Sauce Labs

    Для начала нужно зарегистрироваться на платформе Sauce Labs и получить свои учетные данные — username и access key. Эти данные понадобятся для настройки конфигурации WebdriverIO.

  2. Установка зависимостей

    Убедитесь, что на проекте установлен WebdriverIO. Если это ещё не сделано, можно установить его через npm:

    npm install @wdio/cli wdio-sauce-service --save-dev

    Плагин wdio-sauce-service позволяет интегрировать WebdriverIO с Sauce Labs.

  3. Конфигурация WebdriverIO

    В файле конфигурации wdio.conf.js необходимо настроить подключение к Sauce Labs. Важно добавить данные об учетной записи Sauce Labs и указать необходимые параметры устройств.

    Пример конфигурации:

    exports.config = {
        user: process.env.SAUCE_USERNAME,
        key: process.env.SAUCE_ACCESS_KEY,
        services: ['sauce'],
        capabilities: [
            {
                browserName: 'Chrome',
                platformName: 'Windows 10',
                version: 'latest',
                screenResolution: '1280x1024',
                name: 'WebdriverIO Example Test',
                build: 'Build Number',
                extendedDebugging: true
            },
            {
                deviceName: 'iPhone 12',
                platformVersion: '14.4',
                platformName: 'iOS',
                app: 'sauce-storage:myApp.zip',
                name: 'Mobile App Test'
            }
        ],
        reporters: ['dot'],
        logLevel: 'info'
    };

    В этом примере конфигурации указаны как параметры для веб-тестирования, так и для тестирования мобильных приложений. Важно указать параметры:

    • browserName и platformName для выбора браузера и операционной системы.
    • deviceName и platformVersion для тестирования на мобильных устройствах.
    • app — путь к приложению в Sauce Labs или ссылка на файл в хранилище.
  4. Запуск тестов

    После настройки конфигурации можно запускать тесты с помощью команды:

    npx wdio run wdio.conf.js

    WebdriverIO автоматически подключится к Sauce Labs, выберет нужные устройства и начнёт выполнение тестов.

Ожидаемые результаты

Во время выполнения тестов на Sauce Labs можно ожидать следующие результаты:

  • Видео и скриншоты: после завершения теста Sauce Labs предоставляет видеозапись его выполнения и скриншоты для каждой стадии теста. Это помогает понять, что происходило на устройстве во время теста.
  • Логи: подробные логи содержат всю информацию о тестировании, включая ошибки и сообщения от WebdriverIO.
  • Статистика тестов: Sauce Labs предоставляет сводную информацию о тестах, такие как успешные, неудачные и пропущенные тесты.

Особенности работы с мобильными устройствами

При тестировании мобильных приложений с помощью Sauce Labs и WebdriverIO важно учитывать особенности работы с мобильными платформами. Мобильные устройства могут работать с различными версиями операционных систем, иметь различные разрешения экранов и особенности интерфейса. Чтобы обеспечить стабильность тестов на разных устройствах, следует учитывать:

  • Эмуляторы и реальные устройства: Sauce Labs предоставляет доступ как к реальным мобильным устройствам, так и к эмуляторам. Реальные устройства обычно более точны, но могут быть медленнее в плане выполнения тестов, чем эмуляторы.
  • Автоматическая загрузка приложений: Если нужно тестировать мобильное приложение, его можно загрузить на платформу Sauce Labs через URL или использовать хранилище Sauce Labs для хранения файлов.

Преимущества использования Sauce Labs в WebdriverIO

  1. Поддержка множества платформ и устройств: Вы можете протестировать приложение на тысячах реальных мобильных устройств и веб-браузеров.
  2. Автоматизация процесса тестирования: Возможность легко масштабировать тестирование с помощью облака, устраняя необходимость в поддержке собственной инфраструктуры.
  3. Подробные отчёты и логи: Платформа предоставляет глубокую аналитику по каждому тесту, включая подробные логи, скриншоты и видео, что ускоряет процесс отладки.
  4. Мгновенная настройка и интеграция: Легко настроить работу WebdriverIO с Sauce Labs, используя их официальные сервисы и плагины.

Заключение

Sauce Labs и WebdriverIO представляют собой мощную комбинацию для автоматизации тестирования мобильных и веб-приложений. С помощью этой интеграции можно легко масштабировать тестирование, используя облачные ресурсы Sauce Labs и управляя тестами через WebdriverIO. Это решение помогает разработчикам и тестировщикам обеспечивать стабильность и качество своих приложений в разных окружениях, не тратя время на настройку и поддержание собственной тестовой инфраструктуры.