запрос сценария——>4723портappium server——>проанализировать параметры, чтобыPCконец4724порт——>Отправить на устройство4724порт——>через устройство4724портвыданоbootstrap.jar——>Bootstrap.jarОтправьте команду наuiautomator
Желаемые возможности содержат некоторую информацию о конфигурации. По сути, это объект в форме ключ-значение. Его можно понимать как карту в Java, словарь в Python, хеш в Ruby и объект JSON в JS. Фактически, желаемые возможности при передаче представляют собой объекты json.
Самая важная роль DesiredCapabilities — сообщить серверу Appium контекст этого теста.
например:
Необходимо ответить на эти вопросы о желаемых возможностях сервера Appium, иначе сервер Appium не сможет завершить запуск мобильного приложения или браузера.
Введение в общие пары «ключ-значение» желаемых возможностей:
AutomationName: какой механизм автоматизации использовать. appium (по умолчанию) или Selendroid.
PlatformName: название платформы, iOS, Android, FirefoxOS.
PlatformVersion: номер версии системы мобильного устройства, 7.1, 4.4.
deviceName: имя устройства, Android: можно заполнить по желанию IOS: Instruments -s devices;
udid: уникальный идентификатор подключенного физического устройства можно получить с помощью устройств adb.
app:локальный абсолютный путьилиудаленныйhttpURLуказал наодин из Инсталляционный пакет(.ipa,.apk,или файл .zip). Appium установит его на соответствующее устройство. Если указаны параметры appPackage и appActivity, Android не требует этого параметра. Этот параметр также несовместим с имя_браузера. (Обычно используется с атрибутом noSign)
имя_браузера: протестированный веб-браузер H5, игнорируется, если это тестовое приложение.
newCommandTimeout: используется для времени (в секундах), в течение которого Appium ожидает отправки клиентом новой команды перед выходом или завершением сеанса.
noReset: не сбрасывать состояние приложения перед текущим сеансом, значение по умолчанию — false.
FullReset: (iOS) Удалить все папки симулятора. (Android) Чтобы очистить данные в приложении, удалите приложение, чтобы добиться эффекта сброса приложения. На Android приложение также будет удалено после завершения сеанса. Значение по умолчанию — ложь
Введение в желаемые возможности пар ключ-значение, специфичных для Android:
appPackage: имя пакета работающего приложения Android, если оно тестирует веб-страницу H5, этот атрибут игнорируется;
appActivity: имя Activity относится к активности Android, которая будет запущена из вашего пакета. Обычно вам нужно добавить «.» впереди, если тестируется веб-страница H5, игнорируйте этот атрибут;
unicodeKeyboard: использовать метод ввода Unicode. Значение по умолчанию — ложь
resetKeyboard: после установки теста Unicode с ключевым словом unicodeKeyboard сбросьте метод ввода в исходное состояние. Если используется отдельно, он будет проигнорирован. Значение по умолчанию — ложь
noSign: пропустить этапы проверки и отладки подписи приложения. Работает только с UiAutomator, а не с selendroid. Значение по умолчанию — false (обычно используется с атрибутом приложения).
Примеры использования DesiredCapabilities:
from appium import webdriver
# 1、Определите желаемое Словарь конфигурации возможностей
des = {
'automationName':'appium',
'platformName':'Android', # Название платформы iOS, Android, FirefoxOS
'platformVersion':'9.1.0', # Введите номер версии системы виртуальной/реальной машины Android.
'deviceName':'huawei', # Введите имя устройства виртуальной/реальной машины Android.
'appPackage':'com.sky.jisuanji', # Введите название пакета тестируемого приложения.
'appActivity':'.JisuanjizixieActivity', # Заполните запись «Активность» тестируемого приложения.
'udid':'HBSBB18821510293', # Заполните через командную строку adb devices Просмотрено удид
'noReset':True, # ли Не сбрасывайте приложение
'noSign':True, # ли Нет подписи
'unicodeKeyboard':True, # ли поддерживает китайский ввод
'resetKeyboard':True, # ли Поддерживает сброс настроек клавиатуры
'newCommandTimeout': 30 # Отключиться, если в течение 30 секунд не отправляется новая команда.
}
# 2. Отправьте настроенный словарь на сервер Appium в качестве параметра запроса.
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',des)
from appium import webdriver
# 1、Определите желаемое Словарь конфигурации возможностей
des = {
'automationName':'appium',
'platformName':'Android', # Название платформы iOS, Android, FirefoxOS
'platformVersion':'9.1.0', # Введите номер версии системы виртуальной/реальной машины Android.
'deviceName':'huawei', # Введите имя устройства виртуальной/реальной машины Android.
'browserName': 'chrome', # Имя устройства браузера
'udid':'HBSBB18821510293', # Заполните через командную строку adb devices Просмотрено удид
'noReset':True, # ли Не сбрасывайте приложение
'noSign':True, # ли Нет подписи
'unicodeKeyboard':True, # ли поддерживает китайский ввод
'resetKeyboard':True, # ли Поддерживает сброс настроек клавиатуры
'newCommandTimeout': 30 # Отключиться, если в течение 30 секунд не отправляется новая команда.
}
# 2. Отправьте настроенный словарь на сервер Appium в качестве параметра запроса.
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',des)