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

Что такое automationName (UiAutomator2/XCUITest) и когда что выбирают?

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

automationName — это параметр в Appium, который определяет движок автоматизации для тестирования мобильных приложений. UiAutomator2 используется для Android, начиная с версии 5.0, и обеспечивает более стабильное и быстрое выполнение тестов по сравнению с UiAutomator. XCUITest применяется для iOS, начиная с версии 9.3, и является официальным фреймворком от Apple для тестирования iOS-приложений. Выбор зависит от платформы: UiAutomator2 для Android и XCUITest для iOS.

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

automationName — это ключевой параметр в Appium, который указывает, какой движок автоматизации будет использоваться для выполнения тестов на мобильных устройствах. Appium поддерживает несколько движков автоматизации, и выбор конкретного движка зависит от платформы и версии операционной системы устройства, на котором выполняются тесты.

Зачем это нужно?

Выбор правильного движка автоматизации важен для обеспечения стабильности, скорости и совместимости тестов. Разные движки предоставляют различные возможности и ограничения, поэтому важно выбрать тот, который лучше всего соответствует вашим требованиям.

Где применяется?

automationName используется в конфигурации сессии Appium, когда вы создаете тесты для мобильных приложений. Это может быть как для Android, так и для iOS приложений.

Как работает?

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

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

UiAutomator2

UiAutomator2 — это движок автоматизации для Android, который используется для тестирования приложений на устройствах с Android версии 5.0 и выше. Он является улучшенной версией UiAutomator и предлагает более стабильное и быстрое выполнение тестов.

Пример конфигурации для Android с использованием UiAutomator2:

{
  "platformName": "Android",
  "platformVersion": "10.0",
  "deviceName": "Android Emulator",
  "automationName": "UiAutomator2",
  "app": "/path/to/your/app.apk"
}
  • "platformName": "Android" — указывает, что тесты будут выполняться на Android устройстве.
  • "platformVersion": "10.0" — версия Android, на которой будет выполняться тест.
  • "deviceName": "Android Emulator" — имя устройства или эмулятора, на котором будет выполняться тест.
  • "automationName": "UiAutomator2" — указывает, что будет использоваться движок UiAutomator2.
  • "app": "/path/to/your/app.apk" — путь к APK-файлу тестируемого приложения.

XCUITest

XCUITest — это движок автоматизации для iOS, который используется для тестирования приложений на устройствах с iOS версии 9.3 и выше. Это официальный фреймворк от Apple, который обеспечивает высокую степень интеграции с iOS.

Пример конфигурации для iOS с использованием XCUITest:

{
  "platformName": "iOS",
  "platformVersion": "14.0",
  "deviceName": "iPhone Simulator",
  "automationName": "XCUITest",
  "app": "/path/to/your/app.app"
}
  • "platformName": "iOS" — указывает, что тесты будут выполняться на iOS устройстве.
  • "platformVersion": "14.0" — версия iOS, на которой будет выполняться тест.
  • "deviceName": "iPhone Simulator" — имя устройства или симулятора, на котором будет выполняться тест.
  • "automationName": "XCUITest" — указывает, что будет использоваться движок XCUITest.
  • "app": "/path/to/your/app.app" — путь к .app-файлу тестируемого приложения.

Когда что выбирают?

  • UiAutomator2: Выбирается для Android устройств с версией 5.0 и выше. Он обеспечивает более стабильное и быстрое выполнение тестов по сравнению с устаревшим UiAutomator.
  • XCUITest: Выбирается для iOS устройств с версией 9.3 и выше. Это предпочтительный выбор для iOS, так как это официальный фреймворк от Apple, который обеспечивает лучшую совместимость и поддержку.

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

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

Твои заметки