Что такое Аппиум?
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 Инспектор
- Подключите Android-эмулятор к Appium
- Тестовый набор APPIUM для приложения для Android (калькулятор)
- Ограничения при использовании APPIUM
- Распространенные ошибки и шаги по устранению неполадок в Appium
Как работает APPIUM?
- Appium — это HTTP-сервер, написанный на платформе Node.js, который управляет iOS и сеансом Android с использованием проводного протокола WebSON от JSON. Следовательно, перед инициализацией сервера Appium Node.js должен быть предварительно установлен в системе.
- Когда Appium загружается и устанавливается, на нашей машине устанавливается сервер, который предоставляет REST API.
- Он получает запрос на подключение и команду от клиента и выполняет эту команду на мобильных устройствах (Android / iOS).
- Он отвечает обратно HTTP-ответами. Опять же, чтобы выполнить этот запрос, он использует платформы автоматизации мобильных тестов для управления пользовательским интерфейсом приложений. Рамки, такие как: —
- Инструменты Apple для 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 выберите исполняемый файл и загрузите. Файл размером около 162 МБ будет загружаться в зависимости от скорости вашего интернета.
Шаг 3) Нажмите на загруженный exe.
Шаг 4) На компьютере с Windows нет необходимости устанавливать Appium. Он запускается прямо из exe. Как только вы нажмете exe, вы увидите следующее изображение в течение нескольких минут.
Для Mac вам нужно установить DMG
Шаг 5) Далее вы увидите окно запуска сервера. Он заполняет параметры хоста и порта по умолчанию, которые вы можете изменить. В нем также упоминается используемая версия Appium.
Шаг 6) При нажатии кнопки «Пуск сервера» запускается новый сервер на указанном хосте и порте. Выводится журнал сервера.
Шаг 7) Нажмите Новое окно сеанса .
Шаг 8) Вы можете ввести желаемые возможности и начать сеанс.
APPIUM Инспектор
Как и в средстве записи и воспроизведения 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) Запустите симулятор на компьютере Mac.
Шаг 4) Нажмите кнопку «Запустить» в правом верхнем углу, чтобы включить значок синего цвета. Снова, нажмите на этот синий цветной значок, он откроет инспектор Appium и симулятор с предварительно выбранным приложением.
Шаг 5) — Запуск вашего Appium Inspector покажет иерархию элементов в виде столбцов. Кроме того, пользователь может применять действия, используя такие кнопки, как «Касание», «Размах» и т. Д.
Шаг 6) Нажмите кнопку «Стоп», чтобы остановить запись.
Подключите Android-эмулятор к Appium
Шаг 1) Установите Android SDK в вашей системе.
Перейдите в Панель управления >> Система и безопасность >> Система и на левой панели нажмите «Расширенные настройки системы». Во всплывающем окне «Свойства системы» нажмите вкладку «Дополнительно», а затем нажмите кнопку «Переменные среды».
Шаг 2) Теперь из всплывающего окна «Переменные среды» дважды щелкните «Путь» и установите переменную ANDROID_HOME, которая указывает на каталог SDK. В пути добавьте полный путь к папке SDK.
например —
C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk
Шаг 3) Запустите эмулятор Android или подключите любое другое устройство Android к вашей системе (Убедитесь, что на вашем Android-устройстве включена опция отладки Android. Чтобы проверить опцию отладки. Перейдите в «Настройки устройства» >> «Параметры разработчика» >> «Проверка опции отладки»). ).
Шаг 4) Откройте командную строку и перейдите в каталог \ platform-tools \ вашего SDK Android (например, 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 для приложения для Android (калькулятор)
Шаг 1) ) Загрузите плагин ADT eclipse или скачайте ADT в комплекте отдельно здесь
Шаг 2) Откройте Eclipse и создайте новый проект >> Пакет >> Класс
Шаг 3) Импортируйте библиотеку Selenium и Testng внутри этого нового проекта.
Шаг 4) Теперь создайте небольшую тестовую программу для Calculator.app, чтобы сложить два числа.
package 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; //import 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 driver; @BeforeClass public void setUp() throws MalformedURLException{ //Set up desired capabilities and pass the Android app-activity and app-package to Appium DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("BROWSER_NAME", "Android"); capabilities.setCapability("VERSION", "4.4.2"); capabilities.setCapability("deviceName","Emulator"); capabilities.setCapability("platformName","Android"); capabilities.setCapability("appPackage", "com.android.calculator2"); // This package name of your app (you can get it from apk info app) capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); // This is Launcher activity of your app (you can get it from apk info app) //Create RemoteWebDriver instance and connect to the Appium server //It will launch the Calculator App in Android Device using the configurations specified in Desired Capabilities driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @Test public void testCal() throws Exception { //locate the Text on the calculator by using 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(); //locate the edit box of the calculator by using By.tagName() WebElement results=driver.findElement(By.tagName("EditText")); //Check the calculated value on the edit box assert results.getText().equals("6"):"Actual value is : "+results.getText()+" did not match with expected value: 6"; } @AfterClass public void teardown(){ //close the app driver.quit(); } }
Appium Server и Android Emulator из «AVD Manager» и нажмите «Выполнить» >> TestNG. Выше программа запустит «Calculator.app» на выбранном эмуляторе, и результат отобразится в консоли Eclipse с использованием среды TestNG.
Ограничения при использовании APPIUM
- Appium не поддерживает тестирование версии Android ниже 4.2
- Ограниченная поддержка тестирования гибридных приложений. Например: невозможно проверить действие переключения приложения с веб-приложения на нативное и наоборот.
- Нет поддержки для запуска Appium Inspector в Microsoft Windows.
Распространенные ошибки и шаги по устранению неполадок в Appium
ошибка | Действия по устранению неполадок |
1. ошибка: — Требуются следующие желаемые возможности, но они не были предоставлены: имя устройства, имя платформы | 1. Добавьте нужные возможности: имя устройства, имя платформы в сценарии APPIUM. например :abilities.setCapability («имя_устройства», «Эмулятор»); abilities.setCapability («имя платформы», «Android»); |
2. ошибка: не удалось найти adb. Установите переменную среды ANDROID_HOME с помощью пути к корневому каталогу Android SDK. | 2. Возможно, вам нужно настроить путь к корневому каталогу SDK в системных переменных среды в столбце «Путь». |
3.error: org.openqa.selenium.SessionNotCreatedException: не удалось создать новый сеанс. | 3. Вам нужно установить правильный путь к приложению и перезапустить сервер Appium. |
4. Как найти элемент DOM или XPath в мобильном приложении? | 4. Используйте «UIAutomatorviewer», чтобы найти элемент DOM для приложения Android. |