0% нашли этот документ полезным (0 голосов)
0 просмотров3 страницы

Appium Testing

Документ представляет собой краткий гайд по использованию Appium для кроссплатформенного UI-тестирования мобильных и веб-приложений. Он охватывает установку необходимых компонентов, запуск сервера, настройку capabilities для Android, написание тестов на Python, а также лучшие практики и распространенные ошибки. В заключение подчеркивается важность использования Appium 2 и UiAutomator2 для создания устойчивых тестов.

Загружено:

andrewbred4774
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
0 просмотров3 страницы

Appium Testing

Документ представляет собой краткий гайд по использованию Appium для кроссплатформенного UI-тестирования мобильных и веб-приложений. Он охватывает установку необходимых компонентов, запуск сервера, настройку capabilities для Android, написание тестов на Python, а также лучшие практики и распространенные ошибки. В заключение подчеркивается важность использования Appium 2 и UiAutomator2 для создания устойчивых тестов.

Загружено:

andrewbred4774
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd

Appium

Краткий гайд по кроссплатформенному UI-тестированию

1. Что это
Appium - инструмент для автоматизации мобильных и веб-приложений. Тесты идут снаружи приложения
(black-box) через WebDriver-протокол.
- Android и iOS одним стеком
- Языки клиентов: Java, Kotlin, Python, JS/TS, и др.
- Подходит для E2E, регрессии, CI на реальных устройствах/эмуляторах

2. Что установить
- [Link] + Appium 2 (`npm i -g appium`)
- Драйвер UiAutomator2: `appium driver install uiautomator2`
- Android SDK / эмулятор или устройство с USB debugging
- Клиентская библиотека, например WebdriverIO / Appium-Python-Client

3. Запуск сервера

appium
# или с явным адресом
appium --address [Link] --port 4723

4. Capabilities (Android)

{
"platformName": "Android",
"appium:automationName": "UiAutomator2",
"appium:deviceName": "Android Emulator",
"appium:app": "/path/to/[Link]",
"appium:appPackage": "[Link]",
"appium:appActivity": ".MainActivity",
"appium:noReset": true
}

5. Пример на Python

1
from appium import webdriver
from [Link] import UiAutomator2Options
from [Link] import AppiumBy

options = UiAutomator2Options()
options.platform_name = "Android"
options.device_name = "Android Emulator"
[Link] = "/path/to/[Link]"

driver = [Link]("[Link] options=options)

email = driver.find_element([Link], "[Link]:id/email")


email.send_keys("user@[Link]")
driver.find_element(AppiumBy.ACCESSIBILITY_ID, "login").click()

[Link]()

6. Локаторы
- id / resource-id - стабильнее всего на Android
- accessibility id (contentDescription) - хороший кроссплатформенный выбор
- xpath - гибко, но хрупко; используйте в последнюю очередь
- UiSelector / -android uiautomator - мощный поиск на Android
- class name / text - когда нет id

7. Паттерны стабильных тестов


- Явные ожидания (WebDriverWait) вместо sleep
- Page Object Model - локаторы и действия в отдельных классах
- Тестовые аккаунты / мок-бэкенд для предсказуемых данных
- Не завязывайтесь на координаты и порядок sibling-элементов

8. CI и запуск

# типичный пайплайн
1) поднять эмулятор / подключить device farm
2) appium &
3) собрать APK/IPA
4) прогнать suite (pytest / WDIO / JUnit)
5) сохранить скриншоты и Appium logs как артефакты

9. Частые ошибки
- Сервер Appium не запущен или неверный порт
- Несовместимые версии Appium 2 / driver / client
- Неверный appPackage/appActivity - приложение не стартует
- Флаки без wait - элемент ещё не в DOM/иерархии
- Путаница Espresso vs Appium: Espresso внутри app, Appium снаружи

Итог: поставьте Appium 2 + UiAutomator2, задайте capabilities, пишите тесты через client SDK с явными

2
ожиданиями и устойчивыми локаторами.

Вам также может понравиться