Что такое Desired Capabilities / Appium capabilities и какие ты настраивал чаще всего?
1️⃣ Как кратко ответить
Desired Capabilities в Appium — это набор ключ-значение пар, которые используются для настройки сессии автоматизации. Они определяют параметры тестируемого устройства и приложения, такие как платформа, версия ОС, имя устройства и путь к приложению. Чаще всего настраиваются такие параметры, как platformName, platformVersion, deviceName, app, automationName.
2️⃣ Подробное объяснение темы
Desired Capabilities — это важный компонент в Appium, который позволяет тестировщику определить, как и где будет выполняться тест. Они представляют собой набор ключ-значение пар, которые передаются серверу Appium для настройки сессии автоматизации. Эти параметры помогают Appium понять, какое устройство или эмулятор использовать, какое приложение запускать и какие дополнительные настройки применить.
Зачем нужны Desired Capabilities?
- Определение устройства: Позволяют указать, на каком устройстве или эмуляторе будет выполняться тест. Это может быть Android-устройство, iOS-устройство или даже браузер.
- Настройка приложения: Указывают, какое приложение должно быть установлено и запущено для тестирования.
- Конфигурация сессии: Позволяют задать дополнительные параметры, такие как версия платформы, имя устройства и другие специфические настройки, которые могут быть необходимы для успешного выполнения теста.
Пример использования 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.
Часто настраиваемые параметры
platformName: Android или iOS, в зависимости от тестируемой платформы.platformVersion: Версия ОС устройства.deviceName: Имя устройства или эмулятора.app: Путь к приложению, которое будет тестироваться.automationName: Движок автоматизации, например,UiAutomator2для Android илиXCUITestдля iOS.
Эти параметры позволяют гибко настраивать тестовую среду и обеспечивают успешное выполнение тестов на различных устройствах и платформах.
🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!
Подписаться