appium руководство обзор

Руководство по установке и использованию Appium

Автоматизация – это новый джаз. Автоматизируется множество вещей, включая рассылки по электронной почте, google-формы, сбор информации из интернет-источников и даже тестирование программного обеспечения. В этом учебном пособии по Appium я расскажу об Appium – инструменте, который по целому ряду причин стал фаворитом в индустрии автоматизации тестирования мобильных приложений. Ниже перечислены темы, рассматриваемые в этом учебном пособии по Appium:

Начнем наш туториал по Appium с краткого знакомства с самим инструментом.

Что такое Appium?

Appium – это кроссплатформенный инструмент автоматизации тестирования с открытым исходным кодом. Он используется для автоматизации тестовых случаев. Инструмент ориентирован на приложения для Android и iOS и был ограничен только областью тестирования мобильных приложений. Недавно Appium объявил о поддержке тестирования настольных приложений для windows.

Appium разработан и поддерживается компанией sauce labs. В настоящее время распространяется версия Appium 2.10. Appium начинал свою работу как сервис тестирования на основе командной строки, который можно было установить с помощью node.js. В своей последней версии, получившей название “Appium desktop”, компания выпустила надежный и усовершенствованный инструмент с интуитивно понятным графическим интерфейсом. Appium desktop поставляется с инспектором элементов приложений, который мы рассмотрим далее в этом руководстве по Appium.

Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ

Философия Appium

Appium – это восходящая звезда на рынке автоматизации мобильного тестирования. Когда речь заходит об автоматизации мобильных тестов, во многом индустрия все еще выясняет, какие подходы лучше. В случае с Appium им помогли уроки, извлеченные из ранних решений по автоматизации, которые работали не так хорошо, как хотелось бы. Некоторые из этих уроков хорошо обобщены в философии Appium, состоящей из четырех пунктов:

  1. Вам не следует перекомпилировать ваше приложение или вносить в него изменения, чтобы автоматизировать его.
  2. Не следует привязываться к определенному языку или фреймворку для написания и выполнения тестов.
  3. Фреймворк для автоматизации мобильных устройств не должен изобретать велосипед, когда речь идет об API для автоматизации.
  4. Фреймворк для автоматизации мобильных устройств должен быть открытым как по духу, так и по названию!

Типы мобильных приложений

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

Нативные приложения

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

  • Отличная производительность.
  • Как правило, они выглядят утонченно и аккуратно.
  • Нативные приложения легко интегрируются с аппаратным обеспечением устройства.
  • Большинство нативных приложений имеют интуитивно понятный UI/UX.

Примерами нативных приложений являются Spotify, Snapchat, Pinterest, Skype.

Веб-приложения

Эти типы приложений были очень известны, пока не появилась концепция нативных приложений. Веб-приложения, как следует из названия, работают через браузер. Поскольку они работают в браузере, то, как правило, не требуют инсталляции, а процесс их разработки является недорогим с точки зрения бюджета. Поскольку приложение разрабатывается не для конкретной платформы, для его создания используются такие технологии, как HTML/CSS/JavaScript.

Ниже приведен список преимуществ веб-приложений

  • Низкая стоимость разработки.
  • Легче поддерживать.
  • Веб-приложения не нуждаются в верификации на маркетах приложений.
  • Отсутствие необходимости установки и обновления для пользователей.
  • Быстрая доставка обновлений до пользователя.

Примерами успешных веб-приложений являются Ali Express, Flipkart Lite и Washington Post.

Гибридные приложения

Гибридные приложения объединяют в себе лучшие качества нативных и веб-приложений. Хотя эти приложения можно загрузить из магазина Play и получить доступ ко всем функциям устройства, внутри они фактически представляют собой веб-приложение. Они разрабатываются с использованием таких простых технологий веб-разработки, как HTML и CSS. Это позволяет им работать на любой платформе.

Ниже приведен список преимуществ гибридных приложений.

  • Для управления ими требуется только одна кодовая база.
  • Разработка приложения не занимает много времени.
  • Легко масштабируются на другую платформу.
  • Доступ к полным возможностям устройства, как и у нативного приложения.

Примерами гибридных приложений являются OLA, Basecamp, Instagram, Yelp и др.

Appium vs Selendroid vs Robotium

В этой статье мы рассмотрим архитектуру и дизайн Appium.

Архитектура Appium

Appium – это HTTP-сервер, написанный на node.js, который создает и обрабатывает несколько сессий WebDriver для различных платформ, таких как iOS и Android. Appium запускает на устройстве “тестовый пример”, который порождает сервер и слушает прокси-команды от главного сервера Appium. Тестировщик пишет свои тестовые сценарии, которые выполняются на устройстве или эмуляторе, отправляя их в виде запросов на сервер Appium. Каждый производитель, например iOS и Android, имеет свой способ и механизм запуска тестового сценария на устройстве. Таким образом, Appium как бы взламывает его и запускает тестовый пример после получения команд от сервера Appium.

Как работает Appium в iOS:

На iOS Appium передает команды скрипту UIAutomation, запущенному в среде Mac Instruments. Apple предоставляет приложение под названием “instruments”, которое используется для выполнения различных действий, таких как профилирование, контроль и создание iOS-приложений, но в нем также есть компонент автоматизации, где мы можем написать некоторые команды на JavaScript, которые используют UIAutomation API для взаимодействия с пользовательским интерфейсом приложения. Appium использует эти же библиотеки для автоматизации iOS-приложений.

На рисунке выше показана архитектура Appium в контексте автоматизации iOS. Если говорить о жизненном цикле команды, то он выглядит следующим образом: веб-драйвер Selenium выбирает команду из кода и отправляет ее в виде JSON через HTTP-запрос на сервер Appium. Appium-сервер знает контекст автоматизации, например iOS и Android, и отправляет эту команду на командный сервер Instruments, который будет ждать, пока командный клиент Instruments (написанный на node.js) подхватит ее и выполнит в bootstrap.js в среде инструментов iOS. После выполнения команды командный клиент отправляет сообщение обратно на сервер Appium, который фиксирует все, что связано с командой, в своей консоли. Этот цикл продолжается до тех пор, пока не будут выполнены все команды.

Как Appium работает в Android:

В случае Android ситуация практически аналогична: Appium передает команду тестовому сценарию UIAutomator, запущенному на устройстве. UIAutomator – это встроенный в Android фреймворк автоматизации пользовательского интерфейса, который поддерживает запуск тестовых примеров JUnit непосредственно на устройстве из командной строки. В качестве языка программирования он использует Java, но Appium позволяет запускать его с любого из поддерживаемых WebDriver языков.

На приведенной выше диаграмме видно, что вместо bootstrap.js здесь находится bootstrap.jar, который представляет собой наш тестовый пример, скомпилированный на Java. При запуске он порождает TCP-сервер. Здесь TCP-сервер находится внутри устройства, а клиент – в процессе Appium, что прямо противоположно тому, как это происходит в iOS.

Установка Appium с помощью Android Studio

Ни одно руководство по Appium не будет полным без гайда по установке. Вот как можно установить Appium с помощью android studio.

1. Загрузите следующие.

2. Установите Java на свою систему. Не забудьте установить переменные окружения!

3. Установите Android Studio на свою систему, запустив программу установки, а затем создайте новый проект.

4. Извлеките клиентскую библиотеку. Сохраните их отдельно в файле вместе с jar-файлами Appium.

5. Переключитесь на вид проекта в Android studio.

6. Теперь выберите файлы, которые вы извлекли на шаге 4, и поместите их в папку lib в каталоге app. Затем выделите их все и добавьте в качестве библиотеки.

7. После добавления файлов в качестве библиотеки в папке app должен появиться файл build.gradle. Дважды щелкните на нем, а затем пересоберите проект. Успешная пересборка проекта означает, что вы установили Appium на свою систему с помощью Android studio.

На этом мы заканчиваем данный учебник по Appium.

Следите за другими статьями этого цикла, в которых будут рассмотрены другие аспекты тестирования программного обеспечения.

Перевод статьи «Appium Tutorial — A Complete Guide To Instal & Use Appium».

1 комментарий к “Руководство по установке и использованию Appium”

  1. Пингбэк: Чек-лист для мобильных приложений на Android

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *