appium tutorial testing android
Як встановити та налаштувати Appium у Windows за допомогою першої програми для початку роботи на Appium:
Appium - це відкритий код інструмент автоматизації випробувань використовуваний для тестування мобільних додатків . Це дозволяє користувачам тестувати різні типи мобільних додатків (таких як Native, Hybrid та Mobile Web), використовуючи стандартну бібліотеку WebDriver.
Існує три типи мобільних додатків:
- Рідна: Власні програми, створені з використанням SDK для iOS, Android або Windows. Вони специфічні для платформи. Вони побудовані для роботи на платформі та / або пристрої.
- Гібрид: Гібридні програми - це веб-програми, розроблені з використанням HTML, CSS та обгортки власного додатка поверх UIWebView для iOS та “webview” для програм для Android.
- Мобільні веб-програми: Мобільні веб-програми - це програми, доступ до яких здійснюється за допомогою мобільних браузерів.
Список підручників у цій серії Appium
Підручник No1: Підручник Appium для початківців (Цей посібник)
Підручник No2: Вступ до аппіуму: що таке аппіум та його архітектура
Підручник No3: Завантажте, встановіть та налаштуйте Appium для Windows
Підручник No4: Налаштування мобільного пристрою за допомогою системи в Appium
Підручник No5: Автоматизуйте рідну програму на пристрої Android за допомогою Appium
Підручник No6: Як автоматизувати веб-додаток у браузері Chrome на пристрої Android
Що ви дізнаєтесь:
- Чому Appium є популярним інструментом для автоматизації мобільних додатків?
- Налаштування Appium Tool у Windows
- Налаштування Appium за допомогою Eclipse IDE
- Обмеження попередніх епох
- Проблеми, що виникають під час роботи з аппіумом
- Висновок
Чому Appium є популярним інструментом для автоматизації мобільних додатків?
Appium - це «крос-платформний інструмент», тобто він дозволяє писати тести на декількох платформах (iOS, Android, Windows), використовуючи ті самі API. Використовуючи аппіум , ви також запускаєте автоматизовані тести на реальних пристроях, таких як планшети, мобільні телефони тощо.
Це найбільше широко використовуваний інструмент для регресійного тестування мобільних додатків на мобільних телефонах та планшетах. Appium полегшує тестування регресії мобільних додатків; особливо для великих мобільних програм, які часто оновлюються новими функціями та функціоналами.
Налаштування Appium Tool у Windows
Передумови: Це короткий список програмного та апаратного забезпечення, необхідного для автоматизації тестування мобільних додатків за допомогою Appium:
- На вашому ПК повинен бути встановлений JDK, Appium Server, Eclipse, Android SDK
- Apk: Мобільний додаток буде автоматизований у нашому випадку ContactManager.apk
- Пристрій для тестування: У цьому випадку Moto G
- Банки: Java-клієнтські банки та банки Selenium.
- Драйвер USB для пристрою тестування: У цьому випадку Moto G
Крок 1: Встановіть Java Development Kit ( JDK )
Крок No2: Налаштування Java Шлях змінної середовища
Крок No3: Завантажте та встановіть Android SDK тут та оновити API
Щоб оновити API, Відкрийте Eclipse -> Клацніть на вікно в меню Eclipse і -> Виберіть менеджер SDK для Android
Оновіть API, як показано на скріншоті нижче:
Крок No4: Тепер нам потрібно встановити Appium для Windows. Іди тут та завантажте Appium для Windows.
Крок No5: I nstall Node JS звідси: Завантажити JS вузла
Крок No6: Встановіть ANDROID_HOME шлях, а також JAVA_HOME шлях
Вкажіть шлях до інструментів та інструментів платформи, наявних у шляху Android SDK.
Ці папки будуть присутні в adt-bundle-windows-x86_64-20140702 sdk
Тепер нам потрібно оновити змінну Environment (див. Знімок екрана нижче)
(Примітка:Клацніть на будь-яке зображення для збільшення
Оновіть шлях за допомогою інструментів та інструментів платформи (папка присутня в Android SDK).
Запис у Шлях буде виглядати так:
C: Program Files nodejs ;% ANDROID_HOME% tools;% ANDROID_HOME% platform-tools
Крок No7: Доступ до adb
Натисніть комбінацію клавіш Win + R
Тип CMD . Тепер у CMD типу « adb ’. adb буде доступним
Підготовка мобільного пристрою до автоматизації за допомогою Appium
Підключіть мобільний пристрій тестування через USB до ПК. Увімкніть режим розробника на мобільному телефоні перед автоматизацією програми.
Кроки для ввімкнення режиму та параметрів розробника на телефоні або планшеті Android:
1) Відкрийте 'Налаштування', натисніть 'Про програму', натисніть 'Інформація про програмне забезпечення', натисніть 'Більше'.
два) Натисніть 'Номер збірки' 7 разів, щоб увімкнути параметри розробника.
3) Поверніться до Налаштувань і переконайтесь, що там є параметр «Параметри розробника».
4) Натисніть Параметри розробника та увімкніть опцію Налагодження USB у меню на наступному екрані.
Щоб отримати додаткову допомогу, слідкуйте за цим посилання .
5) Завантажте та встановіть USB-драйвери для мобільного пристрою для тестування на ПК.
6) У терміналі adb типу „пристрої adb“
C: Users NEERAJ> пристрої adb
Список пристроїв, що додаються
Пристрій TA93305G0L
З'явиться список пристроїв, підключених до системи. Ми будемо використовувати App Contact Manager.apk як зразок програми для автоматизації. Завантажте та встановіть Зв'яжіться з менеджером. Apk на пристрої.
Запуск автоматизації програми для Android за допомогою Appium
Тепер запустіть appium.exe на ПК.
Appium повинен бути запущений і передати наступні параметри та ім'я пристрою в налаштуваннях Android.
Примітка: Не змінюйте номер порту або щось на піктограмі загальних налаштувань. Коли Appium Server запускається, за замовчуванням встановлюється адреса сервера, а також адреса порту. Адреса порту за замовчуванням буде 4723
В налаштуваннях Android користувачеві потрібно встановити шлях до APK, де знаходиться APK, перевірити шлях до програми, упакувати та запустити Activity.
- Підключіть свій телефон Android до ПК і ввімкніть режим налагодження USB.
- Відкрийте командний рядок.
- Введіть команду adb logcat .
- Відкрийте програму на телефоні Android. Негайно натисніть CTRL + C в командному рядку
com.example.android.contactmanager - назва пакета та com.example.android.contactmanager.ContactManager - це назва діяльності програми Contact Manager.
На наведеному вище скріншоті ми вказали всю необхідну інформацію в пакеті Appium, тобто активність запуску, ім’я мобільного пристрою.
Як знайти елемент за допомогою UIAutomatorViewer?
1) Для автоматизації програми спочатку нам потрібно буде знайти елементи програми, з якими нам потрібно буде взаємодіяти
для цього ми будемо використовувати UIAutomatorViewer
два) Підключіть пристрій, на якому встановлено програму, до ПК
3) Перейдіть до терміналу.
Тип «Пристрої adb»
C: Users NEERAJ> пристрої adb
Список пристроїв, що додаються
Пристрій TA93305G0L
Це покаже список пристроїв, підключених до ПК.
4) Відкрийте програму, яку ви хочете автоматизувати на мобільному пристрої.
5) відчинено UIAutomatorViewer і перейдіть до наступного шляху
adt-bundle-windows-x86_64-20140702 sdk tools
6) Тож переконайтесь, що ваш додаток запущено та UIAutomaterViewer запускається натисніть на скріншот пристрою.
7) Цей параметр робить знімок екрана програми з усією детальною інформацією про всі елементи, видимі в програмі.
Натисніть кнопку Додати контакт для нашого сценарію тестування
Питання та відповіді адміністратора Salesforce для досвідчених
З наведеного вище скріншоту ми можемо використовувати локатор By.name ('Додати контакт')
Зверху скріншот ми можемо взяти By.className (“android.widget.EditText”)) як наш локатор для імені контакту
By.name ('Зберегти') можна використовувати як наш локатор для кнопки Зберегти
Перша програма для автоматизації програми на Appium
Запустіть нижченаведений сценарій, програма Contact Manager буде запущена на реальному пристрої, а всі журнали відображатимуться на консолі Appium, де відображатимуться всі дії, що викликаються вищевказаним сценарієм.
importjava.io.File; importjava.net.MalformedURLException; import java.net.URL; importjava.util.List; importorg.openqa.selenium.By; importorg.openqa.selenium.WebDriver; importorg.openqa.selenium.WebElement; importorg.openqa.selenium.remote.CapabilityType; importorg.openqa.selenium.remote.DesiredCapabilities; importorg.openqa.selenium.remote.RemoteWebDriver; importorg.testng.annotations.*; public class appium { WebDriver driver; @BeforeClass public void setUp() throws Exception { //location of the app File app = new File('C:\Users\NEERAJ\Downloads', 'ContactManager.apk'); //To create an object of Desired Capabilities DesiredCapabilities capability = new DesiredCapabilities(); //OS Name capability.setCapability('device','Android'); capability.setCapability(CapabilityType.BROWSER_NAME, ''); //Mobile OS version. In My case its running on Android 4.2 capability.setCapability(CapabilityType.VERSION, '4.2'); capability.setCapability('app', app.getAbsolutePath()); //To Setup the device name capability.setCapability('deviceName','Moto G'); capability.setCapability('platformName','Android'); //set the package name of the app capability.setCapability('app-package', 'com.example.android.contactmanager-1'); //set the Launcher activity name of the app capability.setCapability('app-activity', '.ContactManager'); //driver object with new Url and Capabilities driver = new RemoteWebDriver(new URL('http://127.0.0.1:4723/wd/hub'), capability); } @Test public void testApp() throws MalformedURLException{ System.out.println('App launched'); // locate Add Contact button and click it WebElementaddContactButton = driver.findElement(By.name('Add Contact')); addContactButton.click(); //locate input fields and type name and email for a new contact and save it ListtextFields = driver.findElements(By.className('android.widget.EditText')); textFields.get(0).sendKeys('Neeraj Test'); textFields.get(1).sendKeys('9999999999'); textFields.get(2).sendKeys('testemail@domain.com'); driver.findElement(By.name('Save')).click(); //insert assertions here } }
Налаштування Appium за допомогою Eclipse IDE
Програмне забезпечення, необхідне для Appium :
- JDK, Appium Server, Eclipse, Android SDK
- Банки: java-клієнтські банки та банки Selenium.
- Apk: Додаток для автоматизації
- Справжній пристрій: У цьому випадку SAMSUNG Note3
- Драйвер USB для реального пристрою: У цьому випадку SAMSUNG Kies
Крок 1: Встановіть Набір для розробки Java (JDK)
Крок 2: Налаштування Шлях змінної середовища Java
Перейдіть до терміналу та введіть:
Відкрийте .bash_profile
Встановіть шлях ANDROID_HOME, а також шлях JAVA_HOME
Крок 3: Встановіть Android SDK / ADB на MAC
Нам потрібно встановити Інструменти, Додатки та відповідні пакети рівня API (у цьому випадку Android 4.4.2 API 19).
(Примітка:Клацніть на будь-яке зображення для збільшення
Крок 4: Завантажте та встановити сервер -
Примітка 1: Не потрібно нічого встановлювати в піктограмі загальних налаштувань. Коли інстальовано Appium Server, за замовчуванням буде встановлено адресу сервера, а також адресу порту. Адреса порту буде 4723. Користувач може змінити адресу сервера, якщо потрібно.
Примітка 2: В налаштуваннях Android користувачеві потрібно встановити шлях до APK, де знаходиться APK, перевірити шлях до програми, упакувати та запустити Activity.
Як знайти ім’я пакета файлів .Apk та ім’я дії запуску:
Існує дуже багато способів дізнатись назву пакета та ім’я дії програми запуску. Тут термінал використовується для отримання імені пакета та запуску.
Перейдіть до терміналу та введіть:
aapt скидання значків
Натисніть 'Enter' на екрані нижче:
Якщо користувач вказує ім'я пакета на сервері Appium, тоді Launcher Activity Name, дочекайтеся автоматичного відображення імен Activity.
У цьому випадку Назва дії Launcher:
' com.amazon.mShop.android.home.HomeActivity. '
Кроки для ввімкнення режиму / опцій розробника на телефоні або планшеті Android
Крок 1:Увімкніть параметри розробника
1) Натисніть на Головне меню значок.
два) Йти до Налаштування .
3) Прокрутіть вниз до Про телефон ‘І натисніть на нього.
4) Прокрутіть вниз донизу, натисніть « Номер збірки ' Сім (7) разів . ( Номер вашої збірки може відрізнятися ). Після третього натискання користувач може побачити грайливе діалогове вікно “ Ви розробник '. Продовжуйте натискати, поки не відобразиться діалогове вікно.
5) Зараз ви можете помітити Параметри розробника на своєму екрані.
Крок 2:Увімкніть налагодження USB
1) Йти до Налаштування виробника .
два ) Виберіть USB налагодження .
3) Він може відображати Вискочити повідомлення, а якщо так, просто натисніть в порядку .
Крок 3:Завантажте та встановіть драйвер USB для відповідного реального пристрою. У цьому випадку SAMSUNG Kies.
Як знайти елемент за допомогою UIAutomatorViewer?
1) Першим кроком перед тим, як знайти будь-який елемент на пристрої, є підключення пристрою до комп’ютера.
Виконайте наведені нижче дії, щоб перевірити підключення пристрою:
- Йти до Термінал .
- Введіть „ пристрої adb '
З'явиться список пристроїв, підключених до системи.
два) На реальному пристрої відкрийте програму, яка повинна бути автоматизованою (тут додаток Amazon автоматизовано)
3) Перейдіть до наступного каталогу, щоб відкрити UIAutomatorViewer :
Користувачі -> Бібліотека -> андроїд -> sdk -> інструменти -> uiautomatorviewer.bat
ЕЛЕМЕНТ: users / bikram.badatya / Library / Android / sdk / tool /
4) У UIAutomatorViewer натисніть Знімок екрана пристрою .
5) При натисканні Знімок екрана пристрою, зображення пристрою разом з детальною інформацією відображатиметься в лівій частині вікна UIAutomator.
6) Після натискання будь-якого елемента на сторінці, відповідна інформація про цей елемент відображатиметься праворуч.
7) Клацніть на Головне меню для відображення всіх властивостей.
Тест на аппіум для запуску програми Amazon
1) Запустіть сервер Appium.
2) Налаштування Android.
3) Загальні налаштування адреси сервера та адреси порту:
4) Клацніть на кнопку запуску .
Фрагмент коду для запуску програми Amazon:
package com.AppiumDemo; //Library to create the path to APK import java.io.File; //Library used to verify if URL is malformed import java.net.MalformedURLException; //Library used to create URL for the Appium server import java.net.URL; import java.util.concurrent.TimeUnit; //Libraries for import selenium WebDriver import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; //Libraries for configuring Desired Capabilities import org.openqa.selenium.remote.DesiredCapabilities; //Library for import TestNG import org.testng.annotations.Test; //Libraries for import Appium Drivers import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; public class LauchAmazon { private static AndroidDriver driver; //static WebDriver driver; @Test public void setup() throws MalformedURLException, InterruptedException{ // Path to File appDir = new File('//Users//bikram.badatya//Library//Android//sdk//platform-tools//'); //Path to to Amazon apk File> File app = new File(appDir, 'Amazon.apk'); //To create an object of Desired Capabilities DesiredCapabilities capabilities = new DesiredCapabilities(); //To set Command Timeout in appium server.Its optional you can set in appium Server itself. capabilities.setCapability('no',true); capabilities.setCapability('newCommandTimeout', 100000); // Name of the OS: Android, iOS or FirefoxOS capabilities.setCapability('platformName', 'Android'); //set the name of the connected device.you have to give same name in both server and the code capabilities.setCapability('deviceName','41001fd89730a000'); //Mobile OS version. My device is running Android 4.4.2 capabilities.setCapability('AndroidVersion','4.4.2'); //set the package name of the app capabilities.setCapability('appPackage', 'com.amazon.mShop.android'); //set the Launcher activity name of the app capabilities.setCapability ('appActivity','com.amazon.mShop.android.home.HomeActivity'); // Name of mobile web browser to automate. It should be an empty string, as we are automation an app. capabilities.setCapability('browserName', ''); //driver object with new Url and Capabilities driver = new AndroidDriverПісля виконання вищезазначеного сценарію додаток Amazon буде запущено на реальному пристрої, а список повідомлень буде відображено на консолі Appium.
Важливі команди
1) Щоб убити сервер adb:
adb kill-server
два) Щоб запустити сервер adb:
adb start-server
3) Щоб встановити JAVA_Home Path, а також ANDROID_Home Path
відкрийте .bash_profile
4) Отримати ім'я пакета та ім'я запуску Android в apk (інший спосіб)
aapt dump badging .apk ім'я
Колишній- aapt скидання значків
/users/bikram.badatya/Library/Android/sdk/platform-tools/Amazon.apk
5) Щоб встановити apk на реальному пристрої
adb install .apk ім'я
6) Видалити apk на реальному пристрої
видалення adb
Колишній - видалити adb com.amazon.mShop.android
Обмеження попередніх епох
- Він не підтримує рівень API Android менше 17
- Повідомлення тостів не підтримуються
- Виконання сценарію на платформі IOS відбувається дуже повільно
- Підтримка жестів обмежена
Проблеми, що виникають під час роботи з аппіумом
# 1) Для отримання назви активності програми запуску, необхідної для запуску програми, можна дотримуватися багатьох методів, наприклад, потрібно встановити додатковий файл apk з назвою «apkInfo», записати певні рядки коду тощо. Але в цьому документі наступна команда використовується для отримання назви активності програми запуску.
тобто aapt dump badging .apk ім'я
# два) Під час налаштування в диспетчері Android SDK нам потрібно зосередитись на наступних пакетах, які потрібно видалити. В іншому випадку програма не запускатиметься

# 3) Особливо на MAC нам потрібно встановити Java_HomePath та Android HomePath у .bash_profile, щоб не потрібно було налаштовувати знову і знову.
# 4) Запуск програми за допомогою емулятора забирає більше часу в порівнянні з реальним пристроєм. Отже, рекомендується використовувати справжній пристрій.
Висновок
Внаслідок нових тенденцій та збільшення попиту на мобільні додатки всі основні компанії мігрують, щоб розпочати свій бізнес на мобільних додатках. Таким чином, для випуску якісних мобільних програм автоматичне тестування мобільних додатків є останньою тенденцією в галузі.
Appium завдяки своїй простоті та простоті використання є одним з лідерів та найбільш широко використовуваних інструментів у всьому світі для автоматичного тестування мобільних додатків для iOS або Android.
Про автора: Цей допис написаний членом команди STH Ніраджем. Він є пристрасним тестувальником програмного забезпечення, який зараз працює старшим інженером з розробки програмного забезпечення з тестування та любить тестування веб- та мобільних додатків.
Перегляньте тут, щоб прочитати більше Мобільна автоматизація за допомогою інструменту Appium Studio.
Рекомендована література
- Підручник з тестування мобільного інтерфейсу користувача (тестування графічного інтерфейсу для додатків iOS та Android)
- ТОП 15 найкращих мобільних інструментів тестування у 2021 році для Android та iOS
- Послуги бета-тестування мобільних додатків (Інструменти бета-тестування iOS та Android)
- Чому мобільне тестування є жорстким?
- Підключення реальних пристроїв iOS та Android з хмари до Appium Studio
- Найкращі засоби тестування програмного забезпечення 2021 р. (Засоби автоматизації тестування якості)
- Підручники з тестування мобільних додатків (Повний посібник із понад 30 навчальних посібників)
- Як швидко отримати роботу на мобільному тестуванні - Керівництво по кар’єрному мобільному тестуванню (Частина 1)