- PVSM.RU - https://www.pvsm.ru -
Привет. Продолжаем перевод книги по Appium. Впереди, на мой взгляд, самая нудная, но все же, необходимая глава — в ней рассказывается о том, как развернуть на своей машине все необходимое окружение. От установки JDK до создания JAVA-проекта в IDE.
Если пропустили: Глава 1 [1]
Поехали
В этой главе:
Appium — проект с открытым исходным кодом для автоматизации мобильных приложений: нативных, web-приложений и гибридных, разработанных для Android,iOS и Firefox OS.
Прежде, чем говорить о преимуществах Appium, давайте посмотрим на его недостатки:
Теперь, давайте обсудим преимущества Appium, на основе его философии. Философия Appium отличается от философии конкурентов. Официально, философия [7] следующая:
Appium использует существующую инфраструктуру, которую предоставляет поставщик [iOS, Android], что удовлетворяет первому требованию, так что нам не нужно встраивать в тестируемое приложение сторонний код. Это позволяет тестировать нам то же самое приложение [даже ту же самую сборку], которую мы разместим в маркетплейсе.
Если говорить о втором требовании, Appium расширяет клиентские библиотеки WebDriver, которые уже написаны на популярных языках программирования. Так что мы свободны в выборе языка для разработки тестов.
Appium расширяет существующий WebDriver JSONWP с дополнительными методами API, которые подходят для мобильной автоматизации. Так что у Appium тот же стандарт, что и у WebDriver и нет необходимости пересматривать подход к автоматизации, что, в свою очередь, соответствует третьему требованию.
Последнее в списке, но не по значению, Appium — open source проект.
Инструмент предоставляет кросс-платформенное решение для нативных и гибридных приложений. Это значит, что одни и те же тест-кейсы будут работать на нескольких платформах. Если вы уже знакомы с Selenium WebDriver, то Appium вам покажется знакомым, иначе, рекомендуется сначала изучить WebDriver для лучшего понимания. Appium использует те же сценарии, что и WebDriver. Также, доступно тестирование в облаке; можно запускать свои тесты в облачных сервисах, таких как Sauce Labs и Testdroid. Они предоставляют сервисы для прогона тестов на реальных девайсах и симуляторах.
Все эти преимущества делают Appium превосходным, по сравнению с другими средствами автоматизации. Следующая таблица показывает преимущества Appium над конкурентами, опираясь на описанную выше философию:
Инструмент | Т1 | Т2 | Т3 | Т4 |
Calabash | - | - | - | + |
iOS Driver | + | + | + | - |
Robotium | - | - | + | - |
Selendroid | - | + | + | - |
Appium | + | + | + | + |
Мы прочитали про Appium; пришло время узнать системные требования для Android/iOS.
В следующем разделе мы посмотрим, как устанавливать разное ПО, указанное выше.
Для начала работы с Appium, нам нужно установить некоторое ПО.
Требования следующие:
Для установки JDK, нужно перейти по ссылке [8]. После установки JDK, нужно установить переменные окружения:
[Далее в книге рассказывается, как прописать JAVA_HOME [9]].
Также необходимо добавить в переменную PATH значение "%JAVA_HOME%bin". [Проверить, что все получилось, можно, написав в cmd команду:
echo %JAVA_HOME% //выведется добавленное содержимое
echo %PATH% //значение должно будет содержать текст из %JAVA_HOME% + "bin"
]
Android SDK можно скачать на официальном сайте [10] под свою ОС.
[Переменная ANDROID_HOME устанавливается так же, как и JAVA_HOME. В качестве значения, передается путь до директории, куда установили Android SDK. В переменную PATH нужно добавить значения "%ANDROID_HOME%tools;%ANDROID_HOME%platform-tools". Дальше необходимо будет запустить Android Studio. В меню перейти Tools → Android → SDk Manager. Загрузить интересующие платформы (вкладка SDK Platforms) и инструменты (вкладка SDK Tools)].
[Подозреваю, что пользовательского опыта с Mac у читателей меньше, чем с Windows. Как у меня, например. Поэтому здесь, пожалуй, опишу подробно].
Если вы устанавливаете переменные первый раз, вам нужно создать
.bash_profile
файл:
touch ~/.bash_profile
и нажмите Enter.open ~/.bash_profile
и нажмите Enter. Откроется файл .bash_profileТеперь, у нас есть файл bash_profile. Чтобы указать пути к Java и Android SDK, нужно задать переменные JAVA_HOME и ANDROID_HOME и bash_profile. В файл пишем:
Содержимое файла нужно сохранить.
После того, как эти шаги будут выполнены, можно в терминале написать java –version
, чтобы проверить установку пути до Java.
Нам потребуются:
Чтобы запустить Xcode, вы можете перейти в папку Applications и затем сделать double-click по иконке Xcode.
Homebrew — это менеджер пакетов для Mac, который используется для установки разных пакетов, которые не поставил Apple. C Homebrew, вы можете установить множеств open source инструментов. Для установки Homebrew, делаем следующее:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor
. Должны получить сообщение «Your system is ready to brew»; если нет — пробуйте устранять проблемы, на которые указывает brew doctor.npm — менеджер пакетов Node.js, онлайн-репозиторий open source Node.js проектов. Утилита командной строки для установки пакетов. Appium-сервер написан на NodeJS; вот почему нам нужен npm — чтобы скачать Appium. Есть и другие способы скачать Appium, о которых поговорим позже.
Давайте поставим Node, используя команды brew:
brew install node
Вы можете скачать Appium с официального сайта [12], или выгрузить из репозитория: github.com/appium/appium.git [13].
Чтобы убедиться, что все установлено и настроено корректно, выполните в командной строке: node Appium-doctor
[если чего-то будет не хватать, утилита об этом сообщит и даст советы, как исправить ситуацию].
Вам даже не нужно скачивать NodeJS — он идет в пакете с Appium. Если команда node не распознается, установите в переменную PATH путь до директории NodeJS (например, C:AppiumForWindowsnode_modulesappiumbin).
Можно скачать с сайта, а можно — используя npm. Выполните в терминале команду:
npm install –g appium
После установки, запустите [там же, в терминале] appium-doctor, чтобы убедиться, что все настроено корректно.
Нужно скачать некоторые библиотеки для работы с Appium:
Теперь посмотрим, как создаются эмуляторы и симуляторы. Начнем с iOS-симулятора, а потом перейдем к эмулятору Android.
На Mac нам не нужно создавать симулятор: мы уже поставили его, установив Xcode. Когда вы запустите Appium-сервер впервые, он предложит вам авторизовать использование инструментов. Или, если вы запускаете через npm, выполните sudo authorize_ios
для работы с симулятором.
Виртуальное устройство [далее AVD] можно создать двумя способами:
Давайте создадим AVD через командную строку:
android list targets
. Выведется список доступных платформandroid create avd –n <name of the AVD> -t <targetID which you can get from the first step> --abi <again you can get it from first step>
.Вы можете кастомизировать AVD, используя разные параметры командной строки; больше информации на сайте [17]. Ссылка может устареть. Если устареет, гуглите «avds command line».
Теперь давайте попробуем создать AVD средствами AVD Manager (его можно найти в папке Android SDK):
Завершив эти шаги, вы увидите свой эмулятор в списке доступных.
Для написания тестовых сценариев, нам потребуется IDE. Сегодня на рынке достаточно много open source IDE, таких как Eclipse, NetBeans, IntelliJ IDEA и другие. Мы будем использовать Eclipse IDE [ну вот еще! Ниже опишу настройку проекта в IntelliJ IDEA]. Если вы скачивали Android ADT, то Eclipse у вас уже есть. Если что, всегда можно скачать [18] с сайта.
Запустите IDE дважды кликнув на иконку eclipse.exe. После этого, для настройки Java-проекта, нужно будет выполнить следующие шаги:
Мы создали проект и добавили все необходимые JAR-файлы. Еще мы будем использовать TestNG. Нам нужно поставить TestNG-плагин для Eclipse:
Теперь мы готовы писать первый Appium-тест.
P.S.:
В следующей главе, мы рассмотрим Appium GUI.
Автор: Дмитрий Еремин
Источник [20]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/testirovanie/258537
Ссылки в тексте:
[1] Глава 1: https://habrahabr.ru/post/331224/
[2] Преимущества Appium: #adv
[3] Системные требования для Android/iOS: #req
[4] Установка разного ПО: #inst
[5] Создание эмуляторов и симуляторов: #create
[6] Настройка Java-проекта в Eclipse: #proj
[7] философия: http://appium.io/slate/en/master/?java#appium-philosophy
[8] ссылке: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
[9] как прописать JAVA_HOME: http://kesh.kz/blog/how-to-set-java-home/
[10] официальном сайте: https://developer.android.com/studio/index.html
[11] сайт: https://itunes.apple.com/us/app/xcode/id497799835
[12] официального сайта: http://appium.io/
[13] github.com/appium/appium.git: https://github.com/appium/appium.git
[14] Selenium Server и WebDriver Java клиент: https://selenium-release.storage.googleapis.com/index.html
[15] Клиент Appium Java: http://search.maven.org/#search|ga|1|appium%20java%20client
[16] Gson: http://mvnrepository.com/artifact/com.google.code.gson
[17] сайте: http://developer.android.com/tools/devices/managing-avds-cmdline.html
[18] скачать: http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/lunasr1a
[19] beust.com/eclipse: http://beust.com/eclipse
[20] Источник: https://habrahabr.ru/post/331248/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.