Тестване на браузър без глава за селен: HTMLUnitDriver & PhantomJS

Съдържание:

Anonim

Selenium Web driver е инструмент за уеб автоматизация, който ви позволява да провеждате тестове срещу различни браузъри. Тези браузъри могат да бъдат Internet Explorer, Firefox или Chrome. За да използвате определен браузър със Selenium, ви е необходим съответния драйвер.

При тестово изпълнение Selenium стартира съответния браузър, извикан в скрипт, и изпълнява тестови стъпки. Можете да видите браузъра и изпълнението на теста в действие.

Какво е браузър без глава?

Безглавият браузър е уеб-браузър без графичен потребителски интерфейс . Тази програма ще се държи точно като браузър, но няма да показва никакъв графичен интерфейс.

Някои от примерите за Headless Drivers включват

  • HtmlUnit
  • Дух
  • PhantomJS
  • ZombieJS
  • Watir-webdriver

В този урок ще се съсредоточим върху HtmlUnit и PhatomJS

HTMLUnitDriver

HTML UnitDriver е най-лекият и най-бърз браузър за безглавно внедряване на WebDriver. Той се основава на HtmlUnit. Той е известен като Headless Browser Driver . Той е същият като Chrome, IE или FireFox драйвер, но той няма GUI, така че човек не може да види изпълнението на теста на екрана.

Характеристики на драйвера за HTML единица

  • Поддръжка на HTTPS и HTTP протоколи
  • Поддръжка за HTML отговори (щракване върху връзки, изпращане на формуляри, ходене по DOM модела на HTML документа и т.н.)
  • Поддръжка за бисквитки
  • Поддръжка на прокси сървър
  • Поддръжка за основно и 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 {публична статична 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 Unit Driver:

  • Тъй като не използва никакъв графичен интерфейс за тестване, тестовете ви ще работят във фонов режим без никакви визуални прекъсвания
  • В сравнение с всички други екземпляри изпълнението е по-бързо
  • За да стартирате тестовете си чрез HtmlUnit драйвер, можете да изберете и други версии на браузъра
  • Независим е от платформата и е по-лесно да провеждате едновременно няколко теста. Идеален за тестване на натоварване.

Ограничения:

  • Не може да емулира поведението на JavaScript на други браузъри

PhantomJS

PhantomJS е безглав браузър с JavaScript API. Това е оптимално решение за Безглавно тестване на уебсайтове, достъп и манипулиране на уеб страници и се предлага със стандартния DOM API.

За да използвате PhantomJS със Seleniun, трябва да използвате GhostDriver. GhostDriver е изпълнение на протокол Webdriver Wire в прост JS за PhantomJS.

Последната версия на PhatomJS е интегрирала GhostDriver и няма нужда да го инсталирате отделно.

Ето как работи системата-

Стъпки за стартиране на селен с PhatomJS

Стъпка 1) Трябва ви Eclipse с инсталиран селен

Стъпка 2) Изтеглете PhantomJS тук

Стъпка 3) Извлечете изтеглената папка в Program Files

Стъпка 4) Изтеглете драйвера PhantomJS от тук. Добавете буркана към вашия проект

Стъпка 5) Поставете следния код в eclipse

пакет htmldriver;import java.io.File;внос org.openqa.selenium.By;импортиране на org.openqa.selenium.WebDriver;внос org.openqa.selenium.WebElement;импортиране на org.openqa.selenium.phantomjs.PhantomJSDriver;публичен клас фантом {публична статична 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 набират популярност за тестване на браузъри без глава. Следвайки няколко прости стъпки, вие ще разберете колко лесно тези инструменти могат да бъдат интегрирани с други инструменти и могат да изпълнят тестовия код.