Архитектура Appium для тестирования мобильных приложений

Опубликовано: 2020-06-26

Оглавление

Обзор приложений

Appium — это бесплатный инструмент/фреймворк для тестирования мобильных приложений, обеспечивающий автоматизацию мобильных приложений iOS и Android. Appium — это клиент-серверная архитектура, которая принимает тестовый код, написанный на Java, Python, Ruby, JavaScript и т. д.

По своей сути Appium — это веб-сервер, написанный на языке программирования Node.js, который создает сеансы iOS и Android с использованием проводного протокола JSON.

Appium Server выполняет следующие действия

  • Получает соединение от клиента в виде объекта JSON через HTTP
  • Инициировать сеанс, а затем вернуть идентификатор сеанса
  • Слушает выданные команды
  • Выполняет эти команды на мобильном устройстве
  • Отвечает HTTP-ответом

Источник

Ключевые концепции Appium

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

Аппиум-клиент

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

Аппиум-сервер

Сервер Appium — это HTTP-сервер, написанный на языке программирования Node.js, который получает запросы на подключение и команды от клиента Appium в формате JSON и выполняет эти команды на мобильном устройстве. Appium Server запускается до вызова кода автоматизации.

Сервер взаимодействует с платформами iOS и Android и создает сеанс для взаимодействия с конечными устройствами мобильных приложений.

Читайте: 20 самых популярных идей и тем для Android-проектов для начинающих

Конечное устройство

Конечное устройство в основном представляет собой мобильное устройство реального времени или эмулятор. Автоматизированные сценарии выполняются на конечном устройстве сервером Appium по командам клиента.

Проводной протокол JSON

В архитектуре Appium проводной протокол JSON представляет собой транспортный механизм, используемый для установления связи между клиентом Appium и сервером Appium. Этот протокол управляет поведением различных мобильных устройств во время сеанса. Это набор предопределенных конечных точек, предоставляемых через RESTful API. Например, если клиент хочет отправить данные на сервер, клиент преобразует их в объект JSON и отправляет на сервер. Затем сервер анализирует полученный объект JSON и преобразует его обратно в данные для использования.

Аппиум Архитектура

Давайте теперь разберемся с архитектурой Appium .

Как упоминалось выше, сервер Appium — это HTTP-сервер, который считывает HTTP-запросы от клиентских библиотек в формате JSON и отправляет эти запросы на соответствующую платформу. Сервер Appium распознает эти запросы и создает сеанс автоматизации с соответствующим конечным устройством. После создания сеанса сервер Appium запускает выполнение тестовых случаев на конечном устройстве.

Сервер Appium по-разному обрабатывает запросы для iOS и Android, в зависимости от платформы, на которой он работает. В следующих разделах объясняется, как Appium по-разному запускает команды на этих платформах.

Appium работает на устройстве iOS

На устройстве iOS Appium использует UIAutomation API (библиотека JavaScript, предоставленная компанией Apple) для подключения к элементам пользовательского интерфейса приложения.

Приведенный выше рисунок архитектуры Appium iOS описывает архитектуру Appium для автоматизации iOS. Давайте шаг за шагом расшифруем рисунок архитектуры iOS Appium :

  • Клиент Appium связывается с сервером Appium, используя проводной протокол JSON, и отправляет команду в формате JSON на сервер.
  • Затем сервер устанавливает соединение с клиентом и перенаправляет запрос на ICS (инструментальный командный сервер). Сервер Appium также отправляет файл bootstrap.js на устройство iOS. Затем ICC (клиент Instruments Command) берет команду и запускает ее в файле bootstrap.js в среде устройства iOS.
  • После завершения вышеуказанной операции клиент отправляет данные журнала выполненной команды обратно на сервер.

Appium работает на Android-устройстве

На устройстве Android Appium будет использовать инфраструктуру UIAutomator, разработанную разработчиками Android, для взаимодействия с элементами пользовательского интерфейса приложения. UI Automator — это фреймворк, используемый для тестирования пользовательского интерфейса.

Приведенный выше рисунок архитектуры Appium Android описывает архитектуру Appium для автоматизации Android. Приведенные выше рисунки заменяют bootstrap.js на bootstarp.jar.

Узнайте: Android SDK: подробное руководство для начинающих

Давайте шаг за шагом расшифруем рисунок архитектуры Android Appium.

  • Клиент Appium связывается с сервером Appium, используя проводной протокол JSON, и отправляет команду в формате JSON на сервер.
  • Затем сервер Appium устанавливает соединение с клиентом и перенаправляет запрос контроллеру ICS UiAutomator. Сервер Appium также отправляет файл bootstrap.jar на устройство Android. Команда UiAutomator, затем клиент берет команду и запускает ее в файле bootstrap.jar в среде устройства Android.
  • После завершения вышеуказанной операции клиент отправляет данные журнала о выполненной команде обратно на сервер Appium.

Читайте также: Full-Stack vs Android Developer: что выбрать

Заключение

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

Если вам интересно узнать больше о разработке программного обеспечения с полным стеком, ознакомьтесь с дипломом PG upGrad & IIIT-B по разработке программного обеспечения с полным стеком, который предназначен для работающих профессионалов и предлагает более 500 часов интенсивного обучения, более 9 проектов и задания, статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.

Подготовьтесь к карьере будущего

ДИПЛОМ UPGRAD И IIIT-BANGALORE PG В РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПОЛНОГО СТЕКА
Применить сейчас