Selenium Başsız Tarayıcı Testi: HTMLUnitDriver & PhantomJS

İçindekiler:

Anonim

Selenium Web sürücüsü, testleri farklı tarayıcılarda çalıştırmanızı sağlayan bir web otomasyon aracıdır. Bu tarayıcılar Internet Explorer, Firefox veya Chrome olabilir. Selenium ile belirli bir tarayıcı kullanmak için ilgili sürücüye ihtiyacınız vardır.

Test çalıştırmasında Selenium, komut dosyasında çağrılan ilgili tarayıcıyı başlatır ve test adımlarını yürütür. Tarayıcıyı ve test yürütmesini çalışırken görebilirsiniz.

Başsız Tarayıcı Nedir?

Başsız tarayıcı, grafik kullanıcı arayüzü olmayan bir web tarayıcısıdır . Bu program tıpkı bir tarayıcı gibi davranacak ancak herhangi bir GUI göstermeyecektir.

Headless Drivers örneklerinden bazıları şunlardır:

  • HtmlUnit
  • Hayalet
  • PhantomJS
  • ZombieJS
  • Watir web sürücüsü

Bu eğiticide HtmlUnit ve PhatomJS'ye odaklanacağız

HTMLUnitDriver

HTML UnitDriver, WebDriver için en hafif ve en hızlı uygulama başsız tarayıcısıdır. HtmlUnit'e dayanmaktadır. Başsız Tarayıcı Sürücüsü olarak bilinir . Chrome, IE veya FireFox sürücüsü ile aynıdır, ancak GUI'ye sahip değildir, bu nedenle ekranda test yürütmesi görülemez.

HTML birim sürücüsünün özellikleri

  • HTTPS ve HTTP protokolleri için destek
  • HTML yanıtları için destek (bağlantılara tıklama, form gönderme, HTML belgesinin DOM modelinde gezinme vb.)
  • Çerez desteği
  • Proxy sunucu desteği
  • Temel ve NTLM kimlik doğrulama desteği
  • Mükemmel JavaScript desteği
  • GET ve POST gönderme yöntemleri desteği
  • Sunucuya gönderilen istek başlıklarını özelleştirme yeteneği
  • Sunucudan gelen başarısız yanıtların istisnalar atıp atmayacağını veya uygun türde sayfalar olarak döndürülüp döndürülmeyeceğini belirleme yeteneği

Selenium ile HTMLUnit Sürücüsünü Kullanma Adımları

Adım 1) Eclipse'de aşağıdaki kodu kopyalayın. Standart selenyum kitaplık dosyalarını projeye ekleyin. Ek jar dosyası gerekmez.

paket htmldriver;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.htmlunit.HtmlUnitDriver;public class htmlUnitYest {public static void main (String [] args) {// HTML birim sürücüsünün yeni bir örneğini oluşturmaWebDriver sürücüsü = yeni HtmlUnitDriver ();// Google'a gidindriver.get ("http://www.google.com");// Adını kullanarak arama kutusunu bulunWebElement öğesi = sürücü.findElement (By.name ("q"));// Bir arama sorgusu girinelement.sendKeys ("Guru99");// Sorguyu gönderin. Webdriver, metin giriş öğesini kullanarak formu otomatik olarak arar// Gönder düğmesini bulmaya / bulmaya gerek yokelement.submit ();// Bu kod sayfa başlığını yazdıracakSistem. out .println ("Sayfa başlığı: + driver.getTitle ());driver.quit ();}}

Adım 2) Kodu çalıştırın. Hiçbir tarayıcının başlatılmadığını ve sonuçların konsolda gösterildiğini gözlemleyeceksiniz.

Html Birim Sürücüsünün Faydaları:

  • Test etmek için herhangi bir GUI kullanmadığından, testleriniz arka planda herhangi bir görsel kesinti olmadan çalışacaktır.
  • Diğer tüm örneklerle karşılaştırıldığında yürütme daha hızlıdır
  • Testlerinizi HtmlUnit sürücüsü aracılığıyla çalıştırmak için diğer tarayıcı sürümlerini de seçebilirsiniz.
  • Platformdan bağımsızdır ve aynı anda birkaç testi çalıştırmak daha kolaydır. Yük Testi için ideal.

Sınırlamalar:

  • Diğer tarayıcıların JavaScript davranışını taklit edemez

PhantomJS

PhantomJS, JavaScript API'ye sahip başsız bir tarayıcıdır. Başsız Web Sitesi Testi için en uygun çözümdür, web sayfalarına erişin ve bunları değiştirin ve standart DOM API ile birlikte gelir.

PhantomJS'yi Seleniun ile kullanmak için GhostDriver kullanmak gerekir. GhostDriver , PhantomJS için basit JS'de Webdriver Wire protokolünün bir uygulamasıdır.

PhatomJS'nin en son sürümü entegre GhostDriver'a sahiptir ve ayrı olarak kurmaya gerek yoktur.

Sistem şu şekilde çalışır:

Selenium'u PhatomJS ile çalıştırma adımları

Adım 1) Selenium yüklü Eclipse'e ihtiyacınız var

Adım 2) PhantomJS'yi buradan indirin

Adım 3) İndirilen klasörü Program Dosyalarına çıkarın

Adım 4) PhantomJS Sürücüsünü buradan indirin. Kavanozu projenize ekleyin

Adım 5) Aşağıdaki kodu tutulmaya yapıştırın

paket htmldriver;java.io.File içe aktarma;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.phantomjs.PhantomJSDriver;public class phantom {public static void main (String [] args) {Dosya dosyası = yeni Dosya ("C: / Program Dosyaları / phantomjs-2.0.0-windows / bin / phantomjs.exe");System.setProperty ("phantomjs.binary.path", file.getAbsolutePath ());WebDriver sürücüsü = yeni PhantomJSDriver ();driver.get ("http://www.google.com");WebElement öğesi = sürücü.findElement (By.name ("q"));element.sendKeys ("Guru99");element.submit ();System.out.println ("Sayfa başlığı: + driver.getTitle ());driver.quit ();}}

Adım 6) Kodu çalıştırın. Çıktının konsolda gösterildiğini ve hiçbir tarayıcının başlatılmadığını göreceksiniz.

NOT : İlk çalıştırmada, ayarlarınıza bağlı olarak, PhantomJS'nin çalıştırılmasına izin vermek için Windows'tan güvenlik uyarısı alabilirsiniz. Erişime İzin Ver'e tıklayın.

Birçok kuruluş, Phantom.JS'yi çeşitli amaçlarla kullanır, örneğin,

  • Başsız Test
  • Ekran görüntüsü
  • Sayfa Otomasyonu
  • Ağ izleme
  • Kullanıcıları için gösterge tablosu ekran görüntülerini oluşturmak için
  • Birim testlerini komut satırında çalıştırmak için
  • HTML'den PDF'ye çalışan el kitapları oluşturmak için
  • Test paketi için QUnit ile birleştirildi

Özet

Uygulamayı çeşitli tarayıcılarda ve herhangi bir görsel kesinti olmadan hızlı bir şekilde test etmek için başsız tarayıcı Testi kullanılır. Hızı, doğruluğu ve erişimi kolay özellikleri nedeniyle, HTML birim sürücüsü ve PhantomJS, başsız tarayıcı testleri için popülerlik kazanıyor. Bazı basit adımları izleyerek, bu araçların diğer araçlarla ne kadar kolay entegre edilebileceğini ve test kodunu çalıştırabileceğini öğrenirsiniz.