Appium Залежність Maven: Налаштування за допомогою Eclipse Приклад проекту
⚡ Розумний підсумок
Appium Керування залежностями Maven дозволяє проекту мобільної автоматизації оголошувати артефакт java-клієнта у pom.xml, тому Maven автоматично вирішує кожен jar-файл, і та сама збірка запускається на будь-якій машині без ручного завантаження.

Що таке Apache Maven?
Apache Maven це Java-засіб управління проектами та автоматизації. Він забезпечує багатозадачну структуру для розробників, щоб полегшити повний життєвий цикл збірки Java програми. Maven попередньо визначено та оголошено у форматі XML під назвою POM (Project Object Model) і згадується як «pom.xml». Його також можна використовувати для інших мов, таких як C#, Scala, Ruby тощо.
Використовуючи фреймворк Maven, ви можете легко керувати такими завданнями в будь-якому проекті:
- Цикл побудови
- Документація проекту
- Звіт про перевірки
- Управління Scrums
- Інформація про випуск
Основні способи використання Maven:
- Застосовує стандартну структуру каталогів.
- Забезпечте багаторазову та просту структуру проекту.
- Вирішити залежності пакетів.
- Надайте структуру керування конфігурацією.
Саме ця здатність до вирішення залежностей Appium потреби проекту, оскільки Java клієнт тягне за собою ланцюжок Selenium jar-файли, які ніхто не хоче завантажувати вручну.
Завантажити Appium Залежності Maven
Перш ніж почати писати Appium тест залежностей за допомогою Maven, вам потрібно завантажити Appium Залежність від Maven — Appium Завантаження JAR-файлу — з Вебсайт центрального репозиторію MavenНа скріншоті нижче показано список артефактів Java-клієнта на Maven Central, де доступні всі опубліковані версії та готові фрагменти коду.
Або безпосередньо додайте артефакт POM.xml, згаданий нижче:
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>3.4.1</version> </dependency>
⚠️ Примітка до версії: 3.4.1 Координата вище – це оригінальний приклад, який досі показує правильну форму блоку. Він був створений раніше за протокол W3C WebDriver, тому новий проект має підвищити його версію. На момент написання статті поточна версія на Maven Central – 10.1.1, що вимагає Selenium 4.42.0 або пізнішої версії.
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>10.1.1</version> </dependency>
Будь ласка, пройдіть наш Підручник Maven щоб дізнатися, як налаштувати Maven за допомогою Eclipse.
Appium Структура проекту Maven та необхідні залежності
Maven нав'язує фіксований макет, і знання цього запобігає більшості плутанини, яка виникне пізніше в цьому посібнику. Згенерований проект містить чотири важливі місця розташування:
- пом.хмл — Об'єктна Модель Проєкту в кореневому каталозі проєкту, де оголошується кожна залежність і плагін.
- src / main / java — класи застосунку та допоміжні класи.
- src/test/java — тестові класи та єдиний каталог, який сканує плагін Surefire під час запуску збірки.
- мета — скомпільовані вихідні дані та звіти про тестування, що перегенеруються для кожної збірки.
Команда Appium java-client є єдиною обов'язковою залежністю, оскільки він оголошує Selenium API, віддалений драйвер та артефакти підтримки транзитивно. Багато команд досі закріплюють Selenium явно, щоб версія була видимою в одному місці, та додайте виконавець тестів:
<dependencies> <dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>10.1.1</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.42.0</version> </dependency> </dependencies>
Зберігайте сумісність двох версій. У випуску Java-клієнта зазначено, що Selenium діапазон, який він підтримує, та поєднання старого клієнта з набагато новим Selenium є найпоширенішою причиною виникнення NoSuchMethodError під час виконання. репозиторій клієнта Java документує парування для кожного релізу.
Тестування програми з Appium і Мейвен
З урахуванням цієї залежності, Eclipse Наведений нижче робочий процес створює робочий проект з нуля. Після налаштування Appium Java Плагін Maven Eclipse, робочий простір готовий до тестування будь-яких Android .apk додаток з Appium і Maven, як показано в Appium Приклад проекту Maven нижче.
Крок 1) На цьому етапі
- Перейдіть до НОВОГО >> виберіть проект Maven
- Натисніть кнопку «Далі»
Майстер нових проектів відкриється з виділеним проектом Maven, як показано тут.
Крок 2) Потім у вікні «Новий проект Maven» введіть «Appium «Тест» у стовпцях «Ідентифікатор групи» та «Ідентифікатор артефакту». На цьому кроці потрібно ввести:
- Ідентифікатор групи
- Ідентифікатор артефакту
- версія
- Пакування
- Ім'я і Descriptіон
- обробка
Заповнена форма нового проекту Maven виглядає як на знімку екрана нижче.
Натискання кнопки «Готово» відкриє новий клас із визначеним ідентифікатором групи (AppiumНазва тесту.
Крок 3) Для початку з Appium скрипт, клацніть правою кнопкою миші на 'src/main/java' у лівому вікні провідника. Потім виберіть Новий >> клас. Напишіть Appium код у вибраному класі.
Контекстне меню, яке використовується для створення цього класу, показано нижче.
Крок 4) У тому ж проєкті натисніть на pom.xml у лівому меню провідника. Усі залежності будуть видимі за замовчуванням на вкладці «pom.xml». Зверніться до зображення нижче.
Якщо стандартного pom.xml не існує, просто додайте всі Maven Appium залежності, наприкладtracз веб-сайту центрального репозиторію Maven:
https://central.sonatype.com/artifact/io.appium/java-client
Відредагований pom.xml з Appium Додані залежності показано нижче.
Крок 5) Тепер клацніть правою кнопкою миші на 'pom.xml' у лівому провіднику або на XML-коді для 'AppiumТестування проекту. Потім натисніть опцію «Запустити від імені >> Maven Clean», як показано нижче.
Під час запуску ви можете побачити всі jar-файли, пов'язані з Maven, та повідомлення про успішне виконання, як у виведеному нижче консолі. Ось як запустити Appium Java тест залежностей клієнта Maven у середовищі, налаштованому Maven.
Як бігти Appium Тести за допомогою команд Maven
Команда Eclipse Меню зручне, але та сама збірка має виконуватися без нагляду на сервері збірки, і там командний рядок є єдиним варіантом. Відкрийте термінал у папці, яка містить pom.xml, і використовуйте ці команди.
mvn clean mvn clean test mvn clean install mvn test -Dtest=LoginTest
Кожен з них має окреме завдання:
- чистий mvn видаляє
targetкаталог, щоб нічого застарілого не збереглося в наступній збірці. Це команда Eclipse покрокове керівництво вищезазначеними тригерами. - mvn clean test компілює проект та виконує тестові класи. Плагін Maven Surefire автоматично підбирає їх з
src/test/java, використовуючи шаблони включення за замовчуваннямTest*.java,*Test.java,*Tests.javaта*TestCase.java. - чиста інсталяція mvn запускає тести, а потім розміщує упакований артефакт у вашому локальному репозиторії, щоб інший проект міг покладатися на нього.
- mvn test -Dtest=ТестВходу звужує виконання до одного класу під час налагодження.
Два моменти привертають увагу. По-перше, Appium Сервер має бути вже запущений, а пристрій або емулятор має бути підключений до початку збірки, оскільки Maven не запускає жоден з них — перевірте пристрій за допомогою АБР спочатку перевірте. По-друге, результати записуються в target/surefire-reports, що є папкою, яку має архівувати завдання CI. Посібник із використання Surefire детально розглядає параметри конфігурації, і ті ж команди керують Appium люкс від Jenkins.
загальний Appium Помилки Maven та як їх виправити
Більшість невдач у Appium Проблеми з налаштуванням Maven виникають через кілька повторюваних причин, а не через сам тестовий код. У таблиці нижче кожен симптом зіставлено зі звичайним виправленням.
| симптом | Ймовірна причина | виправляти |
| Не вдалося вирішити залежності для io.appium:java-client | Неправильний рядок версії або немає мережевого доступу до Maven Central | Скопіюйте координату безпосередньо зі списку Maven Central та повторно запустіть збірку |
| NoSuchMethodError або NoClassDefFoundError з Selenium клас | Версії java-client та selenium-java несумісні | Відповідати Selenium версія в діапазоні, що оголошується у випуску java-клієнта |
| Тести компілюються, але жодного не виконуються | Тестові класи знаходяться в src/main/java, або назва класу не відповідає шаблону включення Surefire | Перемістіть їх до src/test/java та назвіть клас так, щоб він закінчувався на Test |
| З'єднання відмовлено на порту 4723 | Команда Appium сервер не працює | Почніть Appium сервер перед збіркою |
| Недійсна або непідтримувана функція | Застарілі назви можливостей, що використовуються із сучасним драйвером | Revпереглянути поточну бажані можливості для вашої платформи |
| Непідтримувана основна версія файлу класу | JDK, який використовується Maven, відрізняється від рівня компілятора в pom.xml. | Вирівняйте властивості maven.compiler.source та target з встановленими JDK |
Коли збірка не вдається, зчитуйте першу помилку, яку виводить Maven, а не останню. Наступні рядки зазвичай є наслідками першого відсутнього артефакту.








