uiautomatorviewer tutorial
Цей підручник пояснює, як завантажити, встановити та налаштувати UIAutomator та як використовувати UIAutomatorViewer для перевірки елемента в додатку Android:
Google запропонував власні засоби автоматизації тестування Android, і UIAutomatorviewer - один із них. Якщо ви маєте уявлення про селен, то вам буде легко зрозуміти UIAutomator.
Цей підручник дасть вам детальне пояснення UIAutomator разом із його установкою, конфігурацією, компонентами, командами, зразком програми тестування та деякими поширеними запитаннями.
Давайте досліджувати !!
як видалити елемент з масиву в Java
Що ви дізнаєтесь:
Що таке UIAutomatorViewer?
UIAutomatorViewer поставляється як частина менеджера SDK для Android, і це інструмент графічного інтерфейсу інспектора інтерфейсу користувача (графічний інтерфейс користувача), який допомагає нам перевіряти елементи інтерфейсу програми Android.
Перевірка програми є важливою, оскільки нам потрібні локатори, такі як ідентифікатори ресурсів, клас, текст компонента програми Android для автоматизації програми.
Знімок екрана XML поточного екрану буде зроблений UIAutomatorViewer. Натиснувши будь-який елемент на екрані, ми можемо дізнатись про клас, який використовується для представлення, елемент на екрані разом із усіма властивостями, переліченими в правій частині інструменту.
Ієрархія об’єктів - це порядок об’єктів, у якому вони визначені. Наприклад ,клас - це дитина іншого класу. Він розміщується у верхній правій частині інструменту.
За допомогою UIAutomator ви можете писати тестові кейси автоматизації для додатків Android. Ці тести будуть виконуватися на рівні інтерфейсу програми. Ви можете імітувати кожну дію, яку тестувальник робить вручну, наприклад , перевіряючи логін.
Встановлення
Ви можете встановити цей інструмент двома способами.
# 1) Android Studio
Якщо ви часто працюєте з тестуванням / розробкою додатків для Android, ви можете встановити Android Studio.
Він має всі інструменти побудови, платформи та SDK. Отже, встановивши Android Studio, ви отримаєте всі інструменти з нею. Пропонуємо перейти до Android Studio, лише якщо у вас хороший ноутбук / ПК. Оскільки для вашого ПК потрібна значна оперативна пам’ять, а для завантаження та встановлення всіх вимог потрібні 4-5 Гб даних. Але ви отримаєте все лише одним клацанням миші.
# 2) Тільки інструменти командного рядка
Якщо вам потрібні лише інструменти, пов’язані з тестуванням, ви можете завантажити лише менеджер Android SDK.
У цьому навчальному посібнику ми дотримуємося другого методу, оскільки перший метод є в значній мірі прямим.
Відкрий це URL і прокрутіть вниз до заголовка Тільки інструменти командного рядка, потім клацніть на відповідне посилання для завантаження файлу на основі ОС вашого комп'ютера. Див. Знімок екрана нижче для довідки.
Для запуску програми нам потрібно мати інструменти Android SDK, інструменти платформи, платформи та інструменти побудови.
- відчинено інструменти і клацніть на платформи-інструменти посилання та завантаження файлів.
- Створіть папку з іменем AndroidSDK і витягніть тут завантажені інструменти та інструменти платформи.
- Всередині інструментів ви знайдете android.bat папку, клацніть або запустіть файл bat, і відобразиться вікно Android SDK Manager. Виберіть потрібну версію платформи, наприклад, Пов’язане з ОС Android 25 і натисніть встановити. Вам потрібно вибрати платформи та побудувати інструменти для необхідної версії Android API.
- Прийміть умови використання. Завантажте та встановіть платформи та інструменти побудови. Переконайтеся, що всі необхідні файли знаходяться в папці AndroidSDK.
Разом з Android SDK нам потрібно ще кілька речей, щоб почати, як зазначено нижче.
Мурашиний інструмент:
Інструмент Apache буде використаний для компіляції та побудови письмового коду. За допомогою інструмента Ant ми можемо створити файл JAR, який є файлом Java Archive. За допомогою файлу jar буде виконано набір автоматизації / тестові кейси.
=> Встановіть Apache ant тут
Eclipse IDE та Java:
Ми сподіваємось, що ви повинні мати Eclipse IDE та редактор для створення нашого коду та Java, встановлених на вашому ПК. Якщо ні, встановіть останню версію Eclipse з тут
Нам потрібна мова для написання наших тестів автоматизації, і ми використовуємо Java для автоматизації наших тестів.
= > Встановіть Java тут
Конфігурація
Наступне, що нам потрібно зробити, це додати змінну середовища для менеджера SDK. Ви можете використовувати цей інструмент, не додаючи змінну середовища, але проблема полягає в тому, що ви не можете використовувати його скрізь у системі.
Ви зможете отримати до нього доступ лише в папці, яку ви встановили. Тому нам краще додати змінні середовища для SDK, щоб отримати доступ до них де завгодно. Тепер створіть змінні середовища для Ant, Android SDK та для Java. Додайте їх усіх до змінної шляху.
Для цього перейдіть до Система -> Додаткові налаштування системи -> Вкладка Додатково -> Змінні середовища -> Клацніть Створити у розділі Системні змінні. Ця навігація може відрізнятися від системи до системи.
Приклад змінної системи для шляхів:
ANDROID_HOME: F: Workspace SDK
ANT_HOME: C: apache-ant-1.10.5
JAVA_HOME: C: Program Files Java jdk1.8.0_111
Тепер додайте всі ці системні змінні до шляху, як показано в прикладі нижче.
% ANDROID_HOME%;% ANT_HOME%;% JAVA_HOME%
Хіт Подати заявку а потім кнопку в порядку кнопку.
Тепер у нас все налаштування готове.
Перш ніж запускати наш код, спочатку потрібно переконатися, що пристрій Android готовий до запуску тестів на ньому. Для цього нам потрібно ввімкнути опції розробника, якщо це ще не ввімкнено.
Увімкнення параметрів розробника в Android:
- Відкрийте налаштування телефону та перейдіть до “Система” а потім до 'Про телефон' розділ.
- Там ти знайдеш “Номер збірки” .
- Натисніть номер побудови п'ять разів.
- Параметр розробника буде ввімкнено, і ви можете побачити його в “Система” .
- Відкрийте параметри розробника та увімкніть 'USB налагодження' і “Перевірка програм через USB” .
Як перевірити елементи інтерфейсу користувача на Android
Відкрийте командний рядок де завгодно і введіть команду uiautomatorviewer. Зверніть увагу, що в команді немає пробілів, і це лише одне слово. Якщо ви правильно налаштували SDK, відкриється вікно UIAutomator. В іншому випадку перевірте, чи правильно встановлено та налаштовано.
Давайте подивимось використання кожного обведеного елемента по одному.
# 1) На верхній стрічці натисніть на другу піктограму зліва направо, тобто піктограму скріншота. На зображеному зображенні воно позначене як те, яке обведено червоним кольором.
# два) Ви можете зберегти поточний знімок екрана, а також файл дампа інтерфейсу для подальших цілей. Збережені файли можна відкрити за допомогою піктограми папки вгорі.
# 3) Цей розділ містить всю інформацію, пов’язану з ієрархією інтерфейсу користувача. Ви можете шукати за допомогою введеного вікна пошуку. Розгорніть / згорніть ієрархію. Переходити між об’єктами за допомогою стрілок вгору та вниз.
# 4) “Деталі вузла” - це місце, де ми отримуємо інформацію про елемент інтерфейсу.
Він показує всю необхідну інформацію про елемент, як-от його доступність, видимість та різні локатори, такі як назва класу, текст, ідентифікатор ресурсу, опис вмісту тощо. Використовуючи яку нам потрібно отримати доступ до елемента в автоматизації.
Після цього екран буде виглядати так, як показано нижче.
Клацніть на вікно пошуку Google на пристрої і знову зробіть знімок екрана за допомогою UIAutomatorViewer.
На ПК клацніть на відображені компоненти інтерфейсу та спостерігайте. Інструмент виявляє вибраний компонент і відображає деталі компонента. Вибраний компонент інтерфейсу буде виділено червоним кольором у лівій частині екрана.
Зразок програми тестування
Створення тестового проекту та класу в Eclipse:
Відкрийте Eclipse IDE на своєму ПК і натисніть Файл -> Новий -> Проект Java . Відкриється вікно створення проекту, введіть назву проекту наприклад “UiAutomator_Demo”. Залиште всі налаштування за замовчуванням такими, як є, і двічі натисніть кнопку закінчити. Тепер ваш проект створений.
Створений проект відображатиметься в лівій частині IDE. Клацніть правою кнопкою миші на назві проекту, де потрібно вибрати Нове -> Клас і у вікні, що відкрилося, введіть назву класу, наприклад, DemoTest і натисніть кнопку фінішу.
Додавання банок до проекту
Слід додати всі бібліотеки, якими ми користуємося при автоматизації тестів.
# 1) Клацніть правою кнопкою миші на назві проекту в Eclipse, а потім виберіть “Властивості” .
# два) З'явиться нове вікно із властивостями, виберіть “Шлях побудови Java”.
# 3) Клацніть меню Бібліотеки та натисніть на “Додати зовнішні банки” кнопку.
як писати сценарії тестів автоматизації -
# 4) Відкриється вікно Менеджера файлів. Перейдіть до папки, де встановлено SDK. Виберіть android.jar і uiautomator.jar а потім натисніть кнопку застосувати та закрийте додаткове вікно.
У цьому тесті ми виконаємо невелику операцію в пошуку Google, щоб перевірити, чи відображаються результати відповідно до нашого пошукового запиту.
Нижче наведені кроки для виконання кроків:
- Клацніть на вікно пошуку Google.
- Введіть пошуковий запит, наприклад, Довідка щодо тестування програмного забезпечення
- Натисніть кнопку Enter і перевірте, чи містять результати посилання на веб-сайт Довідка щодо тестування програмного забезпечення
Отже, це кроки, які ми виконуємо вручну.
Давайте автоматизуємо те саме.
package com.android.uiautomation; import com.android.uiautomator.core.UiDevice; import com.android.uiautomator.core.UiObject; import com.android.uiautomator.core.UiSelector; import com.android.uiautomator.core.UiObjectNotFoundException; import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class DemoTest extends UiAutomatorTestCase{ public void testApps() throws UiObjectNotFoundException, InterruptedException { getUiDevice().pressHome(); //Step1 UiObject searchBox = new UiObject(new UiSelector().resourceId ('com.google.android.googlequicksearchbox:id/search_edit_frame')); searchBox.clickAndWaitForNewWindow(); //step2 UiObject searchBar = new UiObject(new UiSelector().resourceId ('com.google.android.googlequicksearchbox:id/search_box')); searchBar.setText('SoftwareTestingHelp'); //step3 UiDevice device = getUiDevice(); device.pressEnter(); Thread.sleep(3000); //step4 UiObject results = new UiObject(new UiSelector().textContains('Software Testing Help')); //step5 if(results.exists()){ System.out.println('Passed: Result has been shown for software testing help'); } else{ System.out.println('Failed: Result were not shown for software testing help'); } getUiDevice().pressHome(); } }
Давайте вивчимо наведений вище фрагмент коду.
Ми імпортували всі необхідні модулі до нашої програми.
Крок 1 : Зберігання ідентифікатора ресурсу вікна пошуку Google у UiObject та виконання операції клацання.
Крок 2 : Введення тексту в поле пошуку та натискання клавіші Enter
Крок 3 : Перевірка, чи містять результати пошуку веб-сайт довідки з тестування програмного забезпечення. Друк “Пройдено” повідомлення на консоль, якщо потрібний текст існує, інакше надрукуйте повідомлення 'Failed'.
Список команд
# 1) Створіть тестовий проект
Android створити проект uitest -t -p
Ця команда створює файл build.xml, який надалі використовуватиметься для генерації Jar.
-t параметр приймає версію Android як параметр. Вам потрібно вказати, на яку версію android ви націлюєтеся для тестування. Приклад: android-25, тобто ми націлені на версію Android 7.
Параметр -p - це місце, де вам потрібно вказати свій шлях до проекту. Приклад: D: Workspace UiAutomator_Demo
-n - це назва проекту Приклад: UiAutomator_Demo
# 2) Створіть свій вихідний код
Як уже згадувалося раніше, ми використовували б Apache ant як інструмент складання для компіляції нашого вихідного коду та створення виконуваного файлу JAR.
Мурашина будова
Якщо під час компіляції помилок не буде, на консолі з'явиться повідомлення “Збірка успішна” .
Тоді ви можете знайти виконуваний файл jar у ранку папка вашого проекту з іменем, вказаним під час виконання першої команди. Якщо у вашому коді є які-небудь проблеми, помилки відображатимуться на консолі, а файл JAR не створюватиметься.
# 3) Надсилання згенерованого файлу JAR на пристрій
Adb push / data / local / tmp /
Приклад: adb push D: Workspace UiAutomator_Demo bin UiAutomator_Demo.jar / data / local / tmp /
Оскільки тести UiAutomator виконуються на основі файлу JAR, що надходить на пристрій, нам спочатку потрібно перенести наш файл jar на пристрій. Для цього ми будемо використовувати команду adb push.
Ця команда приймає два параметри - один - це файл, який потрібно перенести на пристрій Android, а інший - шлях призначення.
Другим аргументом для цієї команди є шлях призначення, куди слід надсилати наш файл. У нашому випадку це має бути / data / local / tmp /
# 4) Запустіть тест
Тепер у нас все готово. Єдине, що очікує, це виконати наш тест.
Adb shell uiautomator runtest –c
Приклад: adb shell uiautomator runtest UiAutomator_Demo.jar –c com.android.uiautomation.DemoTest
Якщо ви не знаєте, як отримати кваліфіковане ім’я класу, дотримуйтесь наведеного нижче процесу:
У вашому Eclipse натисніть на випадаючий список вашого проекту та перейдіть до класу, де присутній ваш тестовий код. Тут клас DemoTest. Клацніть правою кнопкою миші на назві класу. Відкриється вікно, натисніть на “Скопіювати кваліфіковане ім’я” .
Як тільки ви натиснете цю команду в командному рядку, тест почне виконуватися, і тепер ви можете бачити, як тест виконується в пристрої.
Поширені запитання
Q # 1) Чи є обов’язковим встановлення шляху для SDK?
Відповідь: Ні, але бажано встановити шлях, тому що якщо ви не встановите шлях SDK у змінних середовища, тоді ви зможете отримати доступ до файлів лише там, де він встановлений.
Отже, щоб отримати доступ до SDK де завгодно, потрібно встановити шлях. Не тільки для SDK, але також доцільно дотримуватися того самого для Java та ant.
Q # 2) Чому UIAutomatorViewer відображає помилку під час створення знімка екрана?
Відповідь:
Є 3 можливі причини цього:
# 1) Adb не розпізнав ваш пристрій, і вам потрібно оновити програмне забезпечення драйвера пристрою. Ви можете їх шукати в Інтернеті та встановити, наприклад, якщо ви працюєте з пристроєм LG, то ви можете шукати драйвери LG adb.
# два) Ваш пристрій не в режимі очікування: Для екрану, який не є статичним, наприклад, відтворюється відео або відображається будь-яка анімація, uiautomatorviewer не може зробити скріншот у цих випадках. Тож переконайтеся, що на екрані вашого пристрою під час створення знімка екрана не відображається жодне відео / анімація.
# 3) Невідповідність версії Android: Переконайтеся, що версія API SDK вашого SDK вища або дорівнює рівню API пристрою Android. Якщо ні, ви можете оновити SDK, натиснувши файл android.bat або через менеджер SDK.
Q # 3) Чи існує якась офіційна документація для UIAutomatorViewer?
Відповідь: Так, Google надав документація для UIAutomatorViewer. Хоча він не повністю охоплений усіма темами, але може отримати уявлення про цей інструмент.
Q # 4) Чому команда adb devices не відображає жодних пристроїв?
Відповідь: Перевірте, чи на вашому пристрої ввімкнено параметри розробника. Для того, щоб Варіант розробників на пристрої Android дотримуйтесь наведеного нижче процесу. Перейдіть до налаштувань пристрою та Про телефон . Натисніть 5 разів на номер збірки. Повідомлення тосту 'Ви зараз розробник' відображатиметься та додаватиметься параметр Розробник налаштувань.
Q # 5) Чому так Adb все ще не розпізнав мій пристрій?
Відповідь: Можливо, проблема з драйвером. Вам потрібно оновити драйвер, який допомагає виявити пристрій.
Виконайте наведені нижче дії, щоб оновити драйвер.
# 1) Відкрийте свою систему та відкрийте диспетчер пристроїв; Ви можете отримати це налаштування, клацнувши правою кнопкою миші Кнопка 'Пуск' .
# два) Відкрийте Диспетчер пристроїв, там ви зможете знайти назву свого пристрою на пристроях Android / портативних пристроях.
# 3) Клацніть правою кнопкою миші на назві пристрою та виберіть Оновити драйвери.
# 4) Клацніть на пункт «Переглянути мій комп’ютер на наявність програмного забезпечення драйвера» та натисніть «дозволити мені вибрати зі списку драйверів пристроїв на моєму комп’ютері».
# 5) Виберіть будь-який з підходящих драйверів для встановлення та натисніть наступну кнопку. Якщо драйвер пристрою успішно встановлений, нижче буде показано повідомлення.
# 6) Оскільки це апаратні зміни, застосовані до вашої системи, можливо, вам доведеться перезапустити систему, якщо вам буде запропоновано це зробити.
# 7) Якщо ви відчуваєте, що пристрій не розпізнано, спочатку можна змінити режим підключення. Ці режими відображаються на пристрої під час підключення пристрою до системи.
Приклад: Передача файлів, передача фотографій, MIDI1.
Q # 6) Чи можу я побачити деталі кожного компонента інтерфейсу користувача програми Android?
Відповідь: У UIAutomatorViewer ви можете бачити майже всі деталі компонентів інтерфейсу. Якщо в будь-якому інтерфейсі користувача / макеті використовуються інші, ніж за замовчуванням, надані android, їх неможливо переглянути в інструменті UIAutomatorViewer.
Ви можете попросити розробника додати будь-який ідентифікатор до елемента інтерфейсу для автоматизації функції. Наприклад, введення ідентифікатора ресурсу, опису вмісту тощо.
Q # 7) Чи використовує інструмент Appium інструмент UIAutomator?
Відповідь: Так.
Q # 8) Чи підтримує цей інструмент інші пристрої, такі як Windows / iOS, окрім Android?
Відповідь: Ні, це розроблено Google і підтримує лише пристрої Android.
Q # 9) Що таке UIautomator Android?
c # об'єктно-орієнтовані концепції програмування
Відповідь: UIAutomator - це інструмент / фреймворк, який допомагає автоматизувати тестові приклади додатків Android.
Q # 10) Як налаштувати UIAutomator?
Відповідь: Будь ласка, зверніться до розділу встановлення цього підручника для отримання детального пояснення.
Q # 11) Що таке UIAutomator в Appium?
Відповідь: UiAutomator - це тестовий фреймворк / інструмент, що надається Android для автоматизації тестування додатків Android, Appium внутрішньо використовує його внутрішньо.
Q # 12) Як ви перевіряєте елемент в UIAutomator?
Відповідь: Закінчивши налаштування, відкрийте командний рядок та введіть команду UIAutomatorViewer. На вашому ПК з’явиться вікно. Підключіть мобільний телефон до ПК і натисніть на другий значок екрана пристрою (звал uiautomator) угорі.
Після цього пристрою у вікні інспектора відображатиметься поточний екран. Клацніть на будь-який з елементів, щоб отримати інформацію про цей елемент. Детальне пояснення див Перевірте необхідний елемент інтерфейсу користувача розділ.
Висновок
Узагальнити,
- UIAutomatorViewer - це інструмент графічного інтерфейсу користувача для перевірки рівня інтерфейсу користувача будь-якої програми.
- Вам потрібно знати структуру інтерфейсу тестованої програми, щоб було простіше автоматизувати взаємодію користувача на рівні інтерфейсу програми
- UIAutomator використовує знімок XML та знімок екрана. Ви можете знати ієрархію макета.
- Для автоматизації тестів користувальницького інтерфейсу програм для Android потрібно спочатку визначити деякі локатори, щоб здійснити взаємодію з додатком Приклад: Назва класу, ідентифікатор ресурсу, текст.
- Adb є частиною SDK, яка називається Android Debug Bridge.
- Ви можете відкрити UIAutomatorViewer, ввівши команду uiautomatorviewer в командному рядку.
- Оскільки цей інструмент безкоштовний, ним може користуватися будь-хто і він надійний.
Щасливого читання !!
Рекомендована література
- Як автоматизувати веб-додаток у браузері Chrome на пристрої Android
- Автоматизуйте рідну програму на пристрої Android за допомогою Appium
- 11 найкращих засобів автоматизації для тестування програм для Android (Інструменти для тестування додатків Android)
- 30 найкращих засобів тестування графічного інтерфейсу для автоматизації тестування графічного інтерфейсу (2021 СПИСОК)
- Підручник з Katalon Studio: Безкоштовний інструмент автоматизації тестів, на який ви чекали
- Професійний огляд Ranorex Studio: Рішення для автоматизації тестів 'все в одному'
- SeeTest Automation Tutorial: Мобільний інструмент автоматизації тестування
- Підручник з практичного огляду TestProject Test Automation Tool