← Назад ко всем вопросам

Что такое Desired Capabilities / Appium capabilities и какие ты настраивал чаще всего?

1️⃣ Как кратко ответить

Desired Capabilities в Appium — это набор ключ-значение пар, которые используются для настройки сессии автоматизации. Они определяют параметры тестируемого устройства и приложения, такие как платформа, версия ОС, имя устройства и путь к приложению. Чаще всего настраиваются такие параметры, как platformName, platformVersion, deviceName, app, automationName.

2️⃣ Подробное объяснение темы

Desired Capabilities — это важный компонент в Appium, который позволяет тестировщику определить, как и где будет выполняться тест. Они представляют собой набор ключ-значение пар, которые передаются серверу Appium для настройки сессии автоматизации. Эти параметры помогают Appium понять, какое устройство или эмулятор использовать, какое приложение запускать и какие дополнительные настройки применить.

Зачем нужны Desired Capabilities?

  1. Определение устройства: Позволяют указать, на каком устройстве или эмуляторе будет выполняться тест. Это может быть Android-устройство, iOS-устройство или даже браузер.
  2. Настройка приложения: Указывают, какое приложение должно быть установлено и запущено для тестирования.
  3. Конфигурация сессии: Позволяют задать дополнительные параметры, такие как версия платформы, имя устройства и другие специфические настройки, которые могут быть необходимы для успешного выполнения теста.

Пример использования Desired Capabilities

Рассмотрим пример на Python с использованием библиотеки Appium-Python-Client. Этот пример демонстрирует, как настроить сессию для тестирования Android-приложения.

from appium import webdriver
​
# Определяем Desired Capabilities
desired_caps = {
    "platformName": "Android",  # Указываем платформу, на которой будет выполняться тест
    "platformVersion": "11.0",  # Версия операционной системы Android
    "deviceName": "emulator-5554",  # Имя устройства или эмулятора
    "app": "/path/to/app.apk",  # Путь к APK-файлу тестируемого приложения
    "automationName": "UiAutomator2"  # Указываем движок автоматизации, который будет использоваться
}
​
# Создаем экземпляр драйвера, который будет управлять устройством
driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
​
# ​Тестовые действия с приложением
​
# Завершаем сессию
driver.quit()

Подробное объяснение примера

  • platformName: Указывает, на какой платформе будет выполняться тест. В данном случае это Android.
  • platformVersion: Определяет версию операционной системы устройства. Это важно для совместимости с приложением.
  • deviceName: Имя устройства или эмулятора, на котором будет выполняться тест. Это может быть физическое устройство или эмулятор.
  • app: Путь к APK-файлу приложения, которое будет тестироваться. Appium использует этот путь для установки и запуска приложения на устройстве.
  • automationName: Указывает, какой движок автоматизации будет использоваться. Для Android часто используется UiAutomator2.

Часто настраиваемые параметры

  1. platformName: Android или iOS, в зависимости от тестируемой платформы.
  2. platformVersion: Версия ОС устройства.
  3. deviceName: Имя устройства или эмулятора.
  4. app: Путь к приложению, которое будет тестироваться.
  5. automationName: Движок автоматизации, например, UiAutomator2 для Android или XCUITest для iOS.

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

Тема: Мобильная автоматизация
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки