Apache ANT with Selenium: Complete Tutorial

Зміст:

Anonim

Що таке Apache Ant?

Створюючи повний програмний продукт, потрібно подбати про різні сторонні API, їх шлях до класу, очищення попередніх виконуваних двійкових файлів, компіляцію нашого вихідного коду, виконання вихідного коду, створення звітів та базу коду розгортання тощо. Якщо ці завдання виконано по одному вручну, це займе величезний час, і процес буде схильний до помилок.

Ось важливість такого інструмента збірки, як Ant. Він зберігає, виконує та автоматизує весь процес у послідовному порядку, згаданому в конфігураційному файлі Ant (зазвичай build.xml).

Перевага побудови мурашок

  1. Ant створює життєвий цикл програми, тобто очищає, компілює, встановлює залежність, виконує, повідомляє тощо.
  2. Залежність стороннього API може бути встановлена ​​Ant, тобто шлях до класу іншого файлу Jar встановлюється файлом побудови Ant.
  3. Створено повну програму для наскрізної доставки та розгортання.
  4. Це простий інструмент побудови, де всі конфігурації можна виконати за допомогою XML-файлу і який можна виконати з командного рядка.
  5. Це робить ваш код чистим, оскільки конфігурація відокремлена від фактичної логіки програми.

Як встановити Ant

Кроки для встановлення Ant у Windows наступні

Крок 1) Перейдіть до http://ant.apache.org/bindownload.cgi Завантажте .zip-файл із apache-ant-1.9.4-bin.zip

Крок 2) Розпакуйте папку та перейдіть та скопіюйте шлях до кореня розпакованої папки

Крок 3) Перейдіть у меню Пуск -> Комп'ютер -> клацніть тут правою кнопкою миші та виберіть "Властивості", а потім натисніть Розширені налаштування системи

Крок 4) Відкриється нове вікно. Клацніть на 'Змінна середовища

... '.

Крок 5) Клацніть 'Нове

... 'і встановіть ім'я змінної як' ANT_HOME ', а значення змінної як кореневий шлях до розпакованої папки та натисніть OK.

Крок 6) тепер виберіть зі списку змінну «Шлях» і натисніть «Редагувати» та додайте; % ANT_HOME% \ bin.

Перезапустіть систему один раз, і ви готові використовувати інструмент побудови Ant зараз.

Крок 7) Щоб перевірити версію вашого Ant за допомогою командного рядка:

Мураха -версія

Розуміння Build.xml

Build.xml - найважливіший компонент інструмента побудови Ant. Для проекту Java усі завдання, пов’язані з очищенням, налаштуванням, компіляцією та розгортанням, згадуються в цьому файлі у форматі XML. Коли ми виконуємо цей XML-файл за допомогою командного рядка або будь-якого плагіна IDE, усі інструкції, записані в цей файл, виконуються послідовно.

Давайте розберемося з кодом у зразку build.XML

  • Тег проекту використовується для згадування назви проекту та атрибута basedir. База даних - це кореневий каталог програми
    <назва проекту = "YTMonetize" basedir = ".">
  • Теги властивостей використовуються як змінні у файлі build.XML для подальших кроків
<ім'я власності = "external.jars" value = ". \ resources" /><назва власності = "ytoperation.dir" value = "$ {external.jars} / YTOperation" />
  • Цільові теги, що використовуються як кроки, які будуть виконуватися в послідовному порядку. Атрибут name - це назва цілі. Ви можете мати кілька цілей в одній build.xml
  • тег path використовується для групування всіх файлів, які логічно знаходяться в загальному розташуванні
    <шлях>
  • тег pathelement встановить шлях до кореня загального місця, де зберігаються всі файли
  • тег pathconvert, який використовується для перетворення шляхів усього загального файлу всередині тегу шляху у формат шляху системи до класу
     
  • тег набору файлів, який використовується для встановлення шляху до класу для різних сторонніх jar в нашому проекті
    <набір файлів dir = "$ {ytoperation.dir}" включає = "*. jar" />
  • Ехо-тег використовується для друку тексту на консолі
  • Видалити тег очистить дані з даної папки
<видалити dir = "$ {build.dir}" /> 
  • Тег mkdir створить новий каталог
  • тег javac, який використовується для компіляції вихідного коду Java та переміщення файлів .class до нової папки
 
  • тег jar створить файл jar з файлів .class
  • тег маніфесту встановить ваш основний клас для виконання
<маніфест> 
  • Атрибут 'depend', який використовується для створення однієї цілі залежною від іншої цілі
<цільове ім'я = "запустити" залежить = "скласти">
  • тег java виконуватиме основну функцію з jar, створеного в цільовому розділі компіляції
 

Запустіть Ant за допомогою плагіна Eclipse

Щоб запустити Ant з eclipse, перейдіть до файлу build.xml -> клацніть правою кнопкою миші на файлі -> Запустити як

... -> клацніть Побудувати файл

Приклад:

Ми візьмемо невеликий приклад програми, яка дуже чітко пояснить функціональність Ant. Структура нашого проекту буде виглядати так:

У цьому прикладі ми маємо 4 цілі

  1. Встановити шлях до класу для зовнішніх банок,
  2. Очистіть раніше дотриманий код
  3. Скомпілювати існуючий код Java
  4. Запустіть код

Guru99AntClass.class

пакет testAnt;імпортувати java.util.Date;публічний клас Guru99AntClass {public static void main (Рядок… s) {System.out.println ("АНТ-ПРОГРАМА HELLO GURU99");System.out.println ("СЬОГОДНЯ ДАТА Є ->" + currentDate ());}public static String currentDate () {повернути нову дату (). toString ();}} 
Build.xml
<назва проекту = "YTMonetize" basedir = ".">
<ім'я власності = "external.jars" value = ". \ resources" /><назва власності = "ytoperation.dir" value = "$ {external.jars} / YTOperation" />
 атрибут 'залежить', який використовується для того, щоб одна ціль залежала від іншої цілі -><шлях>

<видалити dir = "$ {build.dir}" /><маніфест><цільове ім'я = "запустити" залежить = "скласти">

Як виконати код TestNG за допомогою Ant

Тут ми створимо клас із методами Testng та встановимо шлях до класу для Тестування у build.xml.

Тепер для запуску методу testng ми створимо ще один файл testng.xml і викличемо цей файл із файлу build.xml.

Крок 1) Ми створюємо " Guru99AntClass.class" у пакеті testAnt

Guru99AntClass.class

пакет testAnt;імпортувати java.util.Date;імпорт org.testng.annotations.Test;публічний клас Guru99AntClass {@ Тестpublic void Guru99AntTestNGMethod () {System.out.println ("АНТ-ПРОГРАМА HELLO GURU99");System.out.println ("СЬОГОДНЯ ДАТА Є ->" + currentDate ());}public static String currentDate () {повернути нову дату (). toString ();}}

Крок 2) Створіть ціль для завантаження цього класу в Build.xml

<цільове ім'я = "loadTestNG" залежить = "setClassPath">

Крок 3) Створіть testng.xml

testng.xml

<класи>

Крок 4) Створіть Target у Build.xml для запуску цього коду TestNG

Крок 5) Повна версія Build.xml

<назва проекту = "YTMonetize" basedir = ".">


<цільове ім'я = "loadTestNG" залежить = "setClassPath"><шлях>
<набір файлів dir = "$ {external.jars}" включає = "*. jar" />
<видалити dir = "$ {build.dir}" />

Крок 6) Результат

Завантажте файл вище

Мураха із селеновим веб-драйвером:

Наразі ми дізнались, що за допомогою ANT ми можемо розмістити всі сторонні банки в певному місці в системі та визначити їх шлях для нашого проекту. За допомогою цього методу ми встановлюємо всі залежності нашого проекту в одному місці і робимо його більш надійним для компіляції, виконання та розгортання.

Подібним чином, для наших тестових проектів із використанням селену, ми можемо легко згадати про залежність від селену в build.xml, і нам не потрібно додавати шлях до класу вручну в наш додаток.

Тож тепер ви можете ігнорувати згаданий традиційний спосіб встановлення шляхів класів для проекту.

Приклад:

Ми збираємося змінити попередній приклад

Крок 1) Встановіть для властивості selenium.jars значення jar, пов’язану із селеном, у папці ресурсів

<ім'я властивості = "selenium.jars" value = ". \ selenium" />

Крок 2) У цільовий setClassPath додайте файли селену

<шлях>
<набір файлів dir = "$ {external.jars}" включає = "*. jar" /><набір файлів dir = "$ {selenium.jars}" включає = "*. jar" />

Крок 3) Завершіть Build.xml:

<назва проекту = "YTMonetize" basedir = ".">

<ім'я властивості = "selenium.jars" value = ". \ selenium" />
<цільове ім'я = "loadTestNG" залежить = "setClassPath"><шлях>
<набір файлів dir = "$ {external.jars}" включає = "*. jar" /><набір файлів dir = "$ {selenium.jars}" включає = "*. jar" />
<видалити dir = "$ {build.dir}" />

Крок 4) Тепер змініть раніше створений клас Guru99AntClass.java на новий код.

Ось у цьому прикладі наші кроки з використанням селену:

  1. Перейдіть на сторінку http://demo.guru99.com/test/guru99home/
  2. Прочитайте всі посилання на курси по одному
  3. Роздрукувати всі посилання на курси на консолі.

Guru99AntClass.java:

пакет testAnt;імпортувати java.util.List;імпорт org.openqa.selenium.By;імпорт org.openqa.selenium.WebDriver;імпорт org.openqa.selenium.WebElement;імпорт org.openqa.selenium.firefox.FirefoxDriver;імпорт org.testng.annotations.Test;публічний клас Guru99AntClass {@ Тестpublic void Guru99AntTestNGMethod () {Драйвер WebDriver = новий FirefoxDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");Список  listAllCourseLinks = driver.findElements (By.xpath ("// div [@ class = 'canvas-middle'] // a"));для (WebElement webElement: listAllCourseLinks) {System.out.println (webElement.getAttribute ("href"));}}}

Крок 5) Після успішного виконання вивід буде виглядати так:

Завантажте наведений вище прикладний файл

Короткий зміст:

Ant - це інструмент побудови для Java.

Ant використовується для компіляції коду, розгортання, процесу виконання.

Ant можна завантажити з веб-сайту Apache.

Файл Build.xml, який використовується для налаштування цілей виконання за допомогою Ant.

Ant можна запустити з командного рядка або відповідного плагіна IDE, наприклад eclipse.