Драйвер Selenium Web - це інструмент веб-автоматизації, який дозволяє запускати тести проти різних браузерів. Цими браузерами можуть бути Internet Explorer, Firefox або Chrome. Для використання певного браузера з Selenium потрібен відповідний драйвер.
Під час тестового запуску Selenium запускає відповідний браузер, викликаний сценарієм, і виконує тестові кроки. Ви можете бачити браузер і тестове виконання в дії.
Що таке браузер без голови?
Безголовий браузер - це веб-браузер без графічного інтерфейсу користувача . Ця програма буде поводитися так само, як браузер, але не відображатиме жодного графічного інтерфейсу.
Деякі приклади безголових водіїв включають
- HtmlUnit
- Привид
- PhantomJS
- ZombieJS
- Ватір-веб-драйвер
У цьому підручнику ми зупинимось на HtmlUnit та PhatomJS
HTMLUnitDriver
HTML UnitDriver - це найлегший та найшвидший веб-браузер для WebDriver. Він заснований на HtmlUnit. Він відомий як Безголовий браузерний драйвер . Це те саме, що драйвер Chrome, IE або FireFox, але він не має графічного інтерфейсу, тому на екрані не видно виконання тесту.
Особливості драйвера модуля HTML
- Підтримка протоколів HTTPS та HTTP
- Підтримка HTML-відповідей (клацання посилань, надсилання форм, проходження моделі DOM документа HTML тощо)
- Підтримка файлів cookie
- Підтримка проксі-сервера
- Підтримка базової і NTLM аутентифікації
- Відмінна підтримка JavaScript
- Підтримка методів подання GET та POST
- Можливість налаштування заголовків запитів, що надсилаються на сервер
- Можливість визначити, чи повинні відповіді сервера, що не відповідають, створювати винятки чи повертатися як сторінки відповідного типу
Кроки використання драйвера HTMLUnit із селеном
Крок 1) У Eclipse скопіюйте наступний код. Додайте стандартні файли бібліотеки селену до проекту. Не потрібно додаткових файлів jar.
пакет htmldriver;імпорт org.openqa.selenium.By;імпорт org.openqa.selenium.WebDriver;імпорт org.openqa.selenium.WebElement;імпорт org.openqa.selenium.htmlunit.HtmlUnitDriver;відкритий клас htmlUnitYest {public static void main (String [] args) {// Створення нового екземпляра драйвера блоку HTMLДрайвер WebDriver = новий HtmlUnitDriver ();// Перейдіть до Googledriver.get ("http://www.google.com");// Знайдіть поле пошуку за його назвоюWebElement елемент = driver.findElement (By.name ("q"));// Введіть пошуковий запитelement.sendKeys ("Guru99");// Надішліть запит. Webdriver шукає форму автоматично, використовуючи елемент введення тексту// Не потрібно знаходити / знаходити кнопку податиelement.submit ();// Цей код надрукує заголовок сторінкиСистема. out .println ("Заголовок сторінки: + driver.getTitle ());driver.quit ();}}
Крок 2) Запустіть код. Ви спостерігаєте, що жоден браузер не запускається, а результати відображаються на консолі.
Переваги драйвера модуля HTML:
- Оскільки він не використовує будь-який графічний інтерфейс для тестування, ваші тести працюватимуть у фоновому режимі без будь-яких візуальних перерв
- Порівняно з усіма іншими екземплярами виконання швидше
- Для запуску тестів через драйвер HtmlUnit ви також можете вибрати інші версії браузера
- Це не залежить від платформи і простіше проводити кілька тестів одночасно. Ідеально підходить для перевірки навантаження.
Обмеження:
- Він не може імітувати поведінку JavaScript інших браузерів
PhantomJS
PhantomJS - це безголовий браузер з JavaScript API. Це оптимальне рішення для безголового тестування веб-сайтів, доступу до веб-сторінок та керування ними, а також постачається зі стандартним API DOM.
Для того, щоб використовувати PhantomJS з Seleniun, потрібно використовувати GhostDriver. GhostDriver - це реалізація протоколу Webdriver Wire в простому JS для PhantomJS.
В останньому випуску PhatomJS інтегрований GhostDriver, і немає необхідності окремо встановлювати його.
Ось як працює система -
Кроки для запуску селену за допомогою PhatomJS
Крок 1) Вам потрібен Eclipse із встановленим селеном
Крок 2) Завантажте PhantomJS тут
Крок 3) Розпакуйте завантажену папку в Program Files
Крок 4) Завантажте драйвер PhantomJS звідси. Додайте банку до свого проекту
Крок 5) Вставте наступний код у затемнення
пакет htmldriver;імпорт java.io.File;імпорт org.openqa.selenium.By;імпорт org.openqa.selenium.WebDriver;імпорт org.openqa.selenium.WebElement;імпорт org.openqa.selenium.phantomjs.PhantomJSDriver;публічний клас фантом {public static void main (String [] args) {Файл файлу = новий файл ("C: / Program Files / phantomjs-2.0.0-windows / bin / phantomjs.exe");System.setProperty ("phantomjs.binary.path", file.getAbsolutePath ());Драйвер WebDriver = новий PhantomJSDriver ();driver.get ("http://www.google.com");WebElement елемент = driver.findElement (By.name ("q"));element.sendKeys ("Guru99");element.submit ();System.out.println ("Заголовок сторінки: + driver.getTitle ());driver.quit ();}}
Крок 6) Запустіть код. Ви побачите, що результат відображається на консолі, а браузер не запускається.
ПРИМІТКА . Під час першого запуску, на основі ваших налаштувань, ви можете отримати попередження про безпеку від Windows, щоб дозволити запустити PhantomJS. Клацніть на Дозволити доступ.
Багато організацій використовують Phantom.JS для різних цілей, наприклад,
- Безголове тестування
- Скріншот
- Автоматизація сторінок
- Моніторинг мережі
- Щоб зробити знімки екрана інформаційної панелі для своїх користувачів
- Запуск модульних тестів у командному рядку
- Створення довідників для співробітників з HTML у PDF
- У поєднанні з QUnit для набору тестів
Резюме
Для швидкого тестування програми в різних браузерах та без будь-яких візуальних перерв використовується тестування безголового браузера. Завдяки своїй швидкості, точності та легкодоступним функціям, драйвер блоку HTML та PhantomJS набирають популярність для тестування безголового браузера. Дотримуючись декількох простих кроків, ви дізнаєтесь, наскільки легко ці інструменти можна інтегрувати з іншими інструментами та виконати тестовий код.