Что такое Аппиум?
APPIUM - это свободно распространяемая среда тестирования пользовательского интерфейса мобильных приложений с открытым исходным кодом. Appium позволяет тестировать собственные, гибридные и веб-приложения и поддерживает автоматическое тестирование на физических устройствах, а также в эмуляторе или симуляторе. Он предлагает кросс-платформенное тестирование приложений, т.е. единый API работает как для тестовых скриптов платформы Android, так и для iOS.
Он НЕ зависит от ОС мобильного устройства. Поскольку в APPIUM есть фреймворк или оболочка, которые переводят команды Selenium Webdriver в команды UIAutomation (iOS) или UIAutomator (Android) в зависимости от типа устройства, а не от типа ОС.
Appium поддерживает все языки, в которых есть клиентские библиотеки Selenium, такие как Java, Objective-C, JavaScript с node.js, PHP, Ruby, Python, C # и т. Д.
В этом уроке мы узнаем о
- Как работает APPIUM?
- Необходимое условие для использования APPIUM
- Установите Appium Desktop:
- APPIUM Inspector
- Прикрепите эмулятор Android к Appium
- APPIUM Test Case for Native Android App (Калькулятор)
- Ограничения использования APPIUM
- Распространенные ошибки и шаги по устранению неполадок в Appium
Как работает APPIUM?
- Appium - это «HTTP-сервер», написанный с использованием платформы Node.js, который управляет сеансами iOS и Android с использованием проводного протокола Webdriver JSON. Следовательно, перед инициализацией сервера Appium в системе должен быть предварительно установлен Node.js.
- Когда Appium загружается и устанавливается, на нашем компьютере настраивается сервер, который предоставляет REST API.
- Он получает запрос соединения и команды от клиента и выполняет эту команду на мобильных устройствах (Android / iOS).
- Он отвечает ответами HTTP. Опять же, чтобы выполнить этот запрос, он использует платформы автоматизации мобильного тестирования для управления пользовательским интерфейсом приложений. Фреймворк вроде: -
- Apple Instruments для iOS (инструменты доступны только в Xcode 3.0 или новее с OS X v10.5 и новее)
- Google UIAutomator для Android API уровня 16 или выше
- Selendroid для Android API уровня 15 или ниже
Необходимое условие для использования APPIUM
- Установить ANDROID SDK (Studio) [Ссылка] -
- Установить JDK (Java Development Kit) [Ссылка]
- Установить Eclipse [Ссылка]
- Установить TestNg для Eclipse [Ссылка]
- Установить Selenium Server JAR [Ссылка]
- Клиентская библиотека Appium [Ссылка]
- Информация о приложении APK в Google Play [ссылка]
- js (Не требуется - всякий раз, когда установлен сервер Appium, он по умолчанию поставляется с «Node.exe» и NPM. Он включен в текущую версию Appium.)
- Установить Appium Desktop
Установите Appium Desktop:
Appium Studio - это приложение с графическим интерфейсом пользователя с открытым исходным кодом для установки Appium Server. Он поставляется в комплекте со всеми необходимыми условиями для установки и использования Appium Server. Он также имеет инспектор для получения основной информации о ваших приложениях. Он поставляется с записывающим устройством для создания шаблонного кода для автоматизации ваших мобильных приложений.
Шаг 1) Перейдите на http://appium.io/ и нажмите «Загрузить Appium».
Шаг 2) Для Windows выберите exe-файл и загрузите его. Размер файла составляет около 162 МБ. Для загрузки потребуется время, в зависимости от скорости вашего интернета.
Шаг 3) Щелкните загруженный exe.
Шаг 4) На компьютере с Windows нет необходимости устанавливать Appium. Запускается прямо из exe. После того, как вы нажмете на exe, вы увидите следующее изображение на несколько минут.
Для Mac вам необходимо установить dmg
Шаг 5) Далее вы увидите стартовое окно сервера. Он заполняет параметры хоста и порта по умолчанию, которые вы можете изменить. Также упоминается используемая версия Appium.
Шаг 6) При нажатии кнопки Start Server запускается новый сервер на указанном хосте и порту. Отображается вывод журнала сервера.
Шаг 7) Щелкните «Новое окно сеанса» .
Шаг 8) Вы можете ввести желаемые возможности и начать сеанс.
APPIUM Inspector
Подобно инструменту записи и воспроизведения Selenium IDE, Appium имеет «Инспектор» для записи и воспроизведения. Он записывает и воспроизводит поведение собственного приложения, проверяя DOM и генерируя тестовые сценарии на любом желаемом языке. Однако в настоящее время Appium Inspector для Microsoft Windows не поддерживается. В Windows он запускает сервер Appium, но не проверяет элементы. Однако программу просмотра UIAutomator можно использовать в качестве опции для проверки элементов.
Шаги для начала работы с Appium Inspector на компьютере Mac: -
Шаг 1) Загрузите и запустите свой сервер Appium с IP-адресом по умолчанию 0.0.0.0 и портом 4725.
- Выберите исходный файл или файлы .app из локального для тестирования.
- Установите флажок «Путь приложения», чтобы активировать кнопку «Выбрать».
Шаг 2) Теперь нажмите кнопку «Выбрать», чтобы просмотреть и выбрать тестовый файл с локального диска.
Шаг 3) Запустите Simulator на компьютере Mac.
Шаг 4) Нажмите кнопку «Запустить» в правом верхнем углу, после чего появится значок синего цвета. Снова щелкните этот значок синего цвета, откроется Appium Inspector и Simulator с предварительно выбранным приложением.
Шаг 5) - Запуск вашего Appium Inspector покажет иерархию элементов в столбцовой структуре. Кроме того, пользователь может применять действия с помощью таких кнопок, как Tap, Swipe и т. Д.
Шаг 6) Нажмите кнопку «Стоп», чтобы остановить запись.
Прикрепите эмулятор Android к Appium
Шаг 1) Установите Android SDK в свою систему.
Перейдите в Панель управления >> Система и безопасность >> Система и на левой панели нажмите «Дополнительные параметры системы». Во всплывающем окне «Свойства системы» перейдите на вкладку «Дополнительно», а затем нажмите кнопку «Переменные среды».
Шаг 2) Теперь во всплывающем окне «Переменные среды» дважды щелкните «Путь» и установите переменную ANDROID_HOME, указывающую на ваш каталог SDK. В путь добавьте весь путь к папке SDK.
например -
C: \ Пользователь \ ABC \ Рабочий стол \ adt-связанный-окна-x86_64-20140321 \ SDK
Шаг 3) Запустите свой эмулятор Android или подключите любое устройство Android к вашей системе (убедитесь, что на вашем устройстве Android включена функция отладки Android. Чтобы проверить параметр отладки. Перейдите в Настройки устройства >> Параметры разработчика >> Установите флажок «Параметр отладки» ).
Шаг 4) Откройте командную строку и перейдите в каталог \ platform-tools \ вашего Android SDK (например, D: \ adt-bundle-windows-x86_64-20130514 \ sdk \ platform-tools).
Шаг 5) - Запустите команду adb devices. Вы можете увидеть свое подключенное устройство в списке в окне командной строки. (В CMD напишите '> adb devices' - эта команда выведет список подключенных экземпляров эмулятора. Например: adb -s emulator-5554 install <Расположение файла .apk>)
Шаг 6) - Запустите команду adb start-server. Он запустит сервер ADB, который будет использоваться Appium для отправки команд на ваше устройство Android.
Шаг 7) Теперь перейдите в каталог Appium в вашей системе и запустите Appium, щелкнув файл Appium.exe.
Шаг 8) Не меняйте IP-адрес или номер порта и нажмите кнопку «Запустить». Ваша консоль Appium начинается с 127.0.0.1:4723, как показано ниже.
Шаг 9) Нажмите кнопку «Пуск», сервер Appium запустился в вашей системе.
APPIUM Test Case for Native Android App (Калькулятор)
Шаг 1) ) Загрузите плагин ADT eclipse или загрузите ADT в комплекте отдельно здесь
Шаг 2) Откройте Eclipse и создайте новый проект >> Пакет >> Класс
Шаг 3) Импортируйте библиотеку Selenium и Testng внутри этого нового проекта.
Шаг 4) Теперь создайте небольшую тестовую программу для «Calculator.app», чтобы суммировать два числа.
пакет src_Appium;import java.net.MalformedURLException;import java.net.URL;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;// импортировать org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;import org.openqa.selenium.remote.RemoteWebDriver;import org.testng.annotations. *;public class Calculator {Драйвер WebDriver;@BeforeClasspublic void setUp () выбрасывает MalformedURLException {// Настраиваем желаемые возможности и передаем Android app-activity и app-package в AppiumВозможности DesiredCapabilities = новые DesiredCapabilities ();features.setCapability ("BROWSER_NAME", "Android");features.setCapability ("ВЕРСИЯ", "4.4.2");возможности.setCapability ("имя устройства", "Эмулятор");возможности.setCapability ("название платформы", "Android");возможности.setCapability ("appPackage", "com.android.calculator2");// Имя этого пакета вашего приложения (вы можете получить его из приложения с информацией об apk)возможности.setCapability ("appActivity", "com.android.calculator2.Calculator"); // Это активность Launcher вашего приложения (вы можете получить ее из приложения с информацией об apk)// Создаем экземпляр RemoteWebDriver и подключаемся к серверу Appium// Он запустит приложение калькулятора на устройстве Android, используя конфигурации, указанные в желаемых возможностях.драйвер = новый RemoteWebDriver (новый URL ("http://127.0.0.1:4723/wd/hub"), возможности);}@Тестpublic void testCal () выдает исключение {// находим текст на калькуляторе с помощью By.name ()WebElement two = driver.findElement (By.name ("2"));two.click ();WebElement plus = driver.findElement (By.name ("+"));plus.click ();WebElement four = driver.findElement (By.name ("4"));four.click ();WebElement equalTo = driver.findElement (By.name ());equalTo.click ();// находим поле редактирования калькулятора с помощью By.tagName ()WebElement results = driver.findElement (By.tagName ("EditText"));// Проверяем вычисленное значение в поле редактированияassert results.getText (). equals ("6"): "Фактическое значение: + results.getText () + "не соответствует ожидаемому значению: 6";}@После занятийpublic void teardown () {// закрываем приложениеdriver.quit ();}}
Сервер Appium и эмулятор Android из «AVD Manager» и нажмите «Выполнить» >> TestNG. Вышеупомянутая программа запустит «Calculator.app» на выбранном эмуляторе, а результат отобразится в консоли Eclipse с использованием инфраструктуры TestNG.
Ограничения использования APPIUM
- Appium не поддерживает тестирование Android версии ниже 4.2.
- Ограниченная поддержка тестирования гибридных приложений. например: невозможно проверить действие переключения приложения с веб-приложения на собственное и наоборот.
- Нет поддержки для запуска Appium Inspector в Microsoft Windows.
Распространенные ошибки и шаги по устранению неполадок в Appium
Ошибка | Действия по устранению неполадок |
---|---|
1. ошибка: - Следующие требуемые возможности требуются, но не были предоставлены: имя устройства, имя платформы. | 1. Добавьте желаемые возможности: имя устройства, имя платформы в сценарий APPIUM. например: features.setCapability ("deviceName", "Emulator"); возможности.setCapability ("название платформы", "Android"); |
2. ошибка: не удалось найти adb. Задайте для переменной среды ANDROID_HOME путь к корневому каталогу Android SDK. | 2. Вероятно, вам необходимо указать путь к корневому каталогу SDK в системных «Переменные среды» в столбце «Путь». |
3. ошибка: org.openqa.selenium.SessionNotCreatedException: не удалось создать новый сеанс. | 3. Вам необходимо указать правильный путь к приложению и перезапустить сервер Appium. |
4. Как найти элемент DOM или XPath в мобильном приложении? | 4. Используйте «UIAutomatorviewer», чтобы найти элемент DOM для приложения Android. |