Эта статья была впервые опубликована на:Уокер ИИ
Appium — это инструмент автоматизации с открытым исходным кодом, который поддерживает автоматизацию нативных, мобильных веб-приложений и гибридных приложений на настольных платформах iOS, Android и Windows. Appium является кроссплатформенным: он позволяет писать тесты для нескольких платформ (iOS, Android, Windows) с одним и тем же API. Включите повторное использование кода в наборах тестов iOS, Android и Windows.
1. Загрузите установку и конфигурацию среды
1.1 Установите python Установите библиотеку Appium-Python-Client
Его можно установить с помощью команды pippip install Appium-Python-Client
, запустите этот код в python после завершения установкиfrom appium import webdriver
Убедитесь, что установка прошла успешно.
1.2 Установите Android SDK
(1) Скачать с официального сайтаAndroid Studio, который включает в себя Android SDK, потяните веб-страницу к инструментам командной строки только внизу, загрузите версию для Windows, извлеките ее после завершения загрузки, перейдите в каталог bin в командной строке CMD, введитеsdkmanager "platfrom-tools" "platforms;android-28" "build-tools;28.0.3"
Запустите компонент установки, и во время процесса появится всплывающее окно Accept? (y/N), введите y и нажмите Enter.
(2) После завершения установки компонента выполните следующие шаги, чтобы добавить Android SDK в переменные среды.
- Создайте переменную ANDROID_HOME в переменной системной среды, значением является путь к корневому каталогу установки SDK, например: E:\android_sdk
- Добавьте %ANDROID_HOME%\platform-tools в переменную среды Path.
- Убедитесь, что настройки выполнены успешно: введите в командной строке CMD
adb version
Нажмите Enter, вы увидите текущую информацию о версии adb, указывающую на то, что Android SDK был успешно установлен и настроен.
1.3 Установите JDK
(1) вофициальный сайт оракулаЗагрузите и установите JDK, а также установите JDK8 и выше.
(2) После завершения установки задайте переменные среды JDK.
- Создайте переменную JAVA_HOME в переменной системной среды, значением является путь к каталогу установки JDK, например: C:\Program Files\Java\jdk1.8.0_231
- Создайте переменную CLASSPATH в переменной системной среды со значением .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar.
- Добавьте %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin в переменную Path.
- Чтобы проверить, успешно ли настроена среда JDK, введите в командной строке CMD
java -version
Нажмите Enter, вы увидите текущую информацию о версии JDK, указывающую на то, что JDK был успешно установлен и настроен.
1.4 Установить Appium-сервер
(1) Скачать с официального сайта appiumAppium DesktopУстановите и найдите версию, соответствующую используемой вами системе.На этот раз все операции выполняются в Windows.
(2) После завершения установки запустите приложение, хост и порт по умолчанию и добавьте Android SDK и Java JDK в переменные среды в разделе «Редактировать конфигурацию».
(3) После настройки сохраните и перезапустите Appium, а затем запустите службу.Появится следующий экран, показывающий, что ваш сервер appium запущен нормально, и вы можете начать тест на реальной машине.
2. Тест на реальной машине
2.1 Реальные настройки машины
Подключите мобильный телефон через USB, включите режим разработчика мобильного телефона, включите отладку USB и установку USB в параметрах разработчика, а также необходимо включить отладку USB (настройки безопасности) на мобильном телефоне Xiaomi, а затем введите Командная строка CMD.adb devices
Нажмите Enter, если появится номер устройства мобильного телефона, соединение установлено успешно.
2.2 Настройка Appium
(1) Нажмите «Начать сеанс инспектора», чтобы настроить желаемые возможности, введите следующие данные json в представлении JSON и нажмите «Сохранить» для быстрой настройки, или вы можете добавить элемент за элементом слева.Обязательны пять параметров platformName, platformVersion, deviceName, appPackage и appActivity..
{
"platformName": "Android", # 声明是ios还是Android系统
"platformVersion": "8.1.0", # Android内核版本号
"deviceName": "MI_5X", # 连接的设备名称
"appPackage": "com.tencent.qqmusic", # apk的包名
"appActivity": ".activity.AppStarterActivity", # apk的launcherActivity
"resetKeyboard": True,
"noReset": True # 在开始会话之前不要重置应用程序状态
}
Вышеуказанные данные получены с помощью команды adb,При получении appPackage и appActivity вам нужно запустить приложение, получить следующую команду:
(2) После настройки требуемых возможностей нажмите «Начать сеанс». После того, как приложение запустится, вы можете щелкнуть и выбрать в интерфейсе, чтобы просмотреть сведения обо всех элементах управления на текущей странице. В разделе «Выбранный элемент» справа есть три кнопки.
- Tap: выполнить операцию щелчка по выбранному элементу
- Send Keys: Передать значения для объектов ввода, таких как текстовые поля.
- Clear: очистить текст в поле ввода
2.3 Написание сценариев автоматизации
После запуска сеанса и успешного запуска приложения щелкните элемент, которым вы хотите управлять, и вы увидите соответствующую информацию об этом элементе справа Здесь мы можем управлять элементом по идентификатору, используя метод find_element_by_id() в python. чтобы найти элемент, а также Существует множество способов позиционирования элементов.
Такие как: find_element_by_xpath(), driver.find_element_by_name(), driver.find_element_by_partial_link_text() и т. д., используйте метод click(), чтобы щелкнуть элемент, и используйте метод swap(), чтобы провести пальцем по экрану.
Ниже приведен исходный код операции реализации Python.После запуска вы можете видеть, что телефон автоматически завершает операции запуска приложения, щелчка, сдвига и выхода, что указывает на успешное выполнение скрипта Python. Следует отметить, что после завершения предыдущей операции скорость отклика приложения отличается из-за разницы в производительности мобильного телефона, рекомендуется подождать несколько секунд, прежде чем переходить к следующей операции.
import time
from appium import webdriver
caps = {
"platformName": "Android", # 声明是ios还是Android系统
"platformVersion": "8.1.0", # Android内核版本号
"deviceName": "MI_5X", # 连接的设备名称
"appPackage": "com.tencent.qqmusic", # apk的包名
"appActivity": ".activity.AppStarterActivity", # apk的launcherActivity
"resetKeyboard": True,
"noReset": True # 在开始会话之前不要重置应用程序状态
}
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps) # 启动app
time.sleep(15)
el1 = driver.find_element_by_id("com.tencent.qqmusic:id/clt") # 定位<分类歌单>元素
el1.click() # 点击
time.sleep(5)
driver.swipe(500, 1550, 500, 800) # 从(500, 1500)滑动到(500, 800)
driver.quit() # 退出
3. Резюме
В настоящее время Appium является относительно зрелым инструментом автоматизированного тестирования. Он использует встроенную систему автоматизации системы. Нет необходимости компилировать в приложение специфичный для Appium или сторонний код, так что вы можете использовать официально выпущенный пакет для тестирования, не беспокоясь о тестировании.Есть разница между пакетом и официальным пакетом. В то же время его можно комбинировать с существующими средами тестирования Python, такими как pytest, unittest, для написания тестовых случаев и выполнения автоматических тестов. В Appium еще много интересных функций, которые не были представлены, друзья, у которых есть вопросы или предложения, могут обсудить с нами.
PS: Для получения дополнительной технической галантереи, пожалуйста, обратите внимание на [Публичный аккаунт | xingzhe_ai] и обсудите с ходоками!