Что вы используете для автоматизации приложений на работе?
Использовали ли вы фреймворк Appium?
Вы знакомы с Appium?
Как базовый принцип Appium управляет работой мобильных телефонов?
Интервьюер хочет знать:
Прежде всего, Appium — это платформа с открытым исходным кодом, богатой экосистемой и сильным сообществом, поддерживаемая разработчиками;
и является гибкимКросс-платформенныйтеставтоматизацияинструмент,Можно найти вiOS、Android или Windows、Mac Автоматические тестовые запуски мобильных приложений на устройстве и возможность их использования. API Написание тестовых сценариев для нескольких платформ;
Appium похож на Selenium.,этоперекрестный языкизавтоматизациярамка,И может комбинироваться с любой средой тестирования. Тестовые сценарии могут быть написаны на разных языках программирования;,Включает Java, JavaScript, PHP, Ruby, Python и C#.
Client
завершить отправкуавтоматизациядавать указания Appium Server ,После команды, отправленной сервером Appium, получен Клиент,Сделать преобразование,Преобразование в инструкции, которые могут распознаваться мобильными терминалами.,Затем отправьте его на мобильное устройство.,Мобильное устройство работает согласно инструкции.
На следующем рисунке показано автоматизированное взаимодействие связи:
Клиент Это запуск написанного кода проекта автоматизации и использование API, предоставляемого клиентом Appium, для написания вариантов использования.
в,заявлениеDesiredCapabilities
объект,Укажите тестируемое устройствоиappиз Сопутствующая информация;DesiredCapabilities
объектуказано вautomationName
изvalueЗначениеUiAutomator2
,Только так можно пройти Appium Server
Чтобы создать сеанс Android
В коде проекта автоматизации сначала запросите создание AndroidDriver Пример,Нужно передатьAppium Server
из URL и Объект DesiredCapabilities
Номер порта по умолчанию, занимаемый Appium Server при его запуске, — 4723. Его основная функция — мониторинг запросов API.
Получать команды, отправленные Клиентом,и Сделать преобразование,Преобразование инструкций, которые могут распознаваться мобильными терминалами,и отправляется на мобильное устройство для работы,Затем подождите, пока мобильное устройство вернет результат операции.
Результаты, возвращаемые полученным мобильным устройством на стороне сервера Appium, затем отправляют результаты операции Клиенту.
Среди них сервер Аппиум может одновременно размещать код проекта автоматизации в Клиенте или в облаке.
Если разместить на Клиенте одновременно с кодом, Appium IP-адрес сервера — 127.0.0.1;
Если ссылка в облаке, IP-адрес Appium ServerIP — это IP-адрес облачного сервера.
Appium основан на протоколе JSON Wire и реализует автоматическое тестирование приложения путем вызова команды UIAutomatior.
Среди них платформа тестирования UIAutomator — это Java-библиотека автоматизации тестирования пользовательского интерфейса приложений, которая поставляется с Android SDK.
Клиент отправляет запрос на сервер Appium, а сервер Appium преобразует запрос на мобильный терминал. После завершения работы мобильного терминала содержимое ответа возвращается на сервер Appium, а сервер Appium возвращает результат клиенту.
Клиент запрашивает создание сеанса драйвера и передает заявленные параметры запуска возможностей на сервер Appium через порт 4723;
Сервер Appium перенаправляет на соответствующий модуль драйвера на основе атрибута AutomationName в возможностях.
Если имя автоматизации — uiautomator2, сервер Appium перенаправляется на драйвер UIAutomator2, затем создает сеанс и генерирует соответствующий идентификатор сеанса.
Для запуска приложений на телефонах Android Appium требуются определенные разрешения для управления настройками системы.
Appium устанавливает небольшое приложение io.appium.settings. После успешной установки Appium Settings запускается в фоновом режиме.
Поскольку вы используете драйвер UIAutomator2, вам необходимо установить APK-файл, связанный с драйвером, на свой телефон Android, а именно appium-uiautomator2-server-xx.apk.
После завершения установки Appium Сервер8200порт и Androidоборудованиеконециз6790порт Создать сопоставление,Связь происходит по этой отображенной ссылке.
Client
завершить отправкудействоватьдавать указанияAppium Server
Appium Server
проходитьappium-uiautomator2-driver
отправлятьJWP
протоколизпросилAndroid
изappium-uiautomator2-server
appium-uiautomator2-server
вызовAndroid
системаиз Google UIAutomator2
Перейти к выполнению конкретных действийAppiumResponse
Даватьappium-uiautomator2-driver
,AppiumServer
Вернуться снова ДаватьClient
конец,Client
конец得到最终执行действоватьизрезультатappium-uiautomator2
изdriver
иserver
междуизкоммуникацияизпротоколдаJWPпротоколAndroidDriver
следоватьиздаW3C
Соглашение о создании