Başsız Tarayıcı Selenium (HTMLUnitDriver)
Başsız tarayıcı, grafiksel kullanıcı arayüzü olmayan bir web tarayıcısıdır. Arka planda görsel dikkat dağıtıcı olmadan çalışabilir. Zamandan ve kaynaklardan tasarruf ederken web uygulamalarını test etmenin verimli ve etkili bir yolunu sunar. Bu eğitimde, başsız tarayıcının ne olduğu, başsız tarayıcı testinin ne zaman kullanılacağı ve bunu kullanarak nasıl gerçekleştirileceği konularına dalacağız. Selenium.
Başsız Tarayıcı nedir?
Başsız bir tarayıcı bir web tarayıcısıdır grafiksel kullanıcı arayüzü olmadan. Bu program tıpkı bir tarayıcı gibi davranacak ancak herhangi bir GUI göstermeyecektir.
Başsız Sürücülerin örneklerinden bazıları şunlardır:
- HtmlBirimi
- Hayalet
- PhantomJS
- ZombiJS
- Watir-web sürücüsü
Başsız Tarayıcı Testi Ne Zaman Kullanılır?
Günümüzün dijital çağında, web uygulamaları çok çeşitli cihazlar ve platformlarla uyumlu olacak şekilde geliştirilir. Bu, uygulamalarının bu platformlarda sorunsuz bir şekilde çalışmasını sağlamak zorunda olan web sitesi geliştiricileri için sıklıkla bir zorluk teşkil eder. Başsız tarayıcı testi, geliştiricilerin grafiksel bir kullanıcı arayüzüne ihtiyaç duymadan web uygulamalarını test etmelerine olanak tanıdığı için bu sorun için ideal bir çözümdür. Başsız tarayıcı testini kullanarak, geliştiriciler birden fazla bileşen ve bağımlılığa sahip karmaşık web uygulamalarını kolayca test edebilir, daha hızlı geliştirme, hatasız kod ve mutlu kullanıcılar için yol açabilir.
Başsız Tarayıcı Testi Selenium
Selenium başsız tarayıcı testi için güçlü bir araçtır ve geliştiricilerin görünür bir kullanıcı arayüzüne ihtiyaç duymadan otomatik testler çalıştırmasını sağlar. Testleri arka planda çalıştırarak, Selenium zamandan ve kaynaklardan tasarruf sağlarken aynı zamanda geleneksel kullanıcı arayüzü tabanlı test ortamında belirgin olmayabilecek sorunların belirlenmesine de yardımcı olabilir. Bu, yalnızca denetimsiz bir ortamda ortaya çıkabilecek performansla ilgili sorunları ve düzen sorunlarını içerir. Bununla birlikte, kapsamlı test kapsamı sağlamak için başsız testin sınırlamalarını akılda tutmak ve bunu geleneksel kullanıcı arayüzü tabanlı yöntemlerle dengelemek önemlidir.
Başsız Tarayıcıların Popüler Örnekleri
Her biri kendine özgü özelliklere ve avantajlara sahip olan ve onları farklı kullanım durumları için uygun kılan çok sayıda başsız tarayıcı mevcuttur. Bunları aşağıda tartışıyoruz: -
PhantomJS
PhantomJS, işleme motoru olarak WebKit'i kullanan ve HTML5, CSS3 ve benzeri çeşitli web standartlarını destekleyen başsız bir tarayıcıdır. JavaScript. Ekran yakalama ve sayfa otomasyonu görevleri için kullanılabilir. Açık kaynaklıdır ve birden fazla işletim sistemiyle uyumludur.
Örnek Selenium Headless PhantomJS ile Python
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities # Set up PhantomJS options phantomjs_options = webdriver.DesiredCapabilities.PHANTOMJS.copy() phantomjs_options['phantomjs.page.settings.userAgent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' # Set up the PhantomJS driver driver = webdriver.PhantomJS('/path/to/phantomjs', desired_capabilities=phantomjs_options) # Perform actions using the driver driver.get('https://www.example.com') print(driver.title) # Close the driver driver.quit()
krom
Chrome, gezegendeki en popüler tarayıcıdır ve aynı zamanda başsız bir özellik sunar. Birden fazla platformda kullanılabilir ve programlama dillerini ve çerçevelerini destekler. Yerleşik hata ayıklama araçları ve kapsamlı belgeleri, kullanımı kolaylaştırır ve test sırasında ortaya çıkabilecek sorunların giderilmesini sağlar.
Başsız Chrome Örneği Selenium in Python
from selenium import webdriver from selenium.webdriver.chrome.options import Options # Set up Chrome options chrome_options = Options() chrome_options.add_argument('--headless') # Run Chrome in headless mode chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') # Set up the Chrome driver driver = webdriver.Chrome('/path/to/chromedriver', options=chrome_options) # Perform actions using the driver driver.get('https://www.example.com') print(driver.title) # Close the driver driver.quit()
Firefox
Firefox test amacıyla başsız tarayıcı olarak da kullanılabilen popüler bir web tarayıcısıdır. Kullanmanın faydalarından biri Firefox Başsız bir tarayıcı olarak hafif yapısı onu çeşitli işletim sistemlerinde test etmek için çok yönlü bir seçenek haline getiriyor. Ayrıca kapsamlı belgeleri ve topluluk desteğiyle, Firefox başsız tarayıcı teknolojisini denemek isteyenler için mükemmel bir seçimdir.
Başsız Örneği Firefox ile Selenium in Python
from selenium import webdriver from selenium.webdriver.firefox.options import Options # Set up Firefox options firefox_options = Options() firefox_options.add_argument('--headless') # Run Firefox in headless mode # Set up the Firefox driver driver = webdriver.Firefox(options=firefox_options) # Perform actions using the driver driver.get('https://www.example.com') print(driver.title) # Close the driver driver.quit()
Başsız Tarayıcı Testinin Avantajları
- Daha hızlı test yürütme
- Uygun maliyetli testler
- Daha iyi test kapsamı
- Testleri yürütmede esneklik
- CI/CD işlem hatlarıyla entegrasyon
Başsız Tarayıcı Testinin Dezavantajları
- GUI eksikliği
- Hata ayıklamadaki zorluklar
- Sınırlı tarayıcı desteği
HTMLBirim Sürücüsü
HTML UnitDriver, WebDriver'ın en hafif ve en hızlı uygulamalı başsız tarayıcısıdır. HtmlUnit'e dayanmaktadır. Olarak bilinir Başsız Tarayıcı Sürücüsü. Chrome, IE veya Fire ile aynıdırFox sürücü, ancak GUI'si yok, bu nedenle testin yürütülmesi ekranda görülemiyor.
HTML birim sürücüsünün özellikleri
- HTTPS ve HTTP protokolleri desteği
- HTML yanıtları desteği (bağlantılara tıklamak, form göndermek, HTML belgesinin DOM modelini gezmek vb.)
- Çerezler için destek
- Proxy sunucu desteği
- Temel ve NTLM kimlik doğrulaması desteği
- Çok İyi JavaSenaryo destek
- 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 oluşturup oluşturmayacağını veya uygun türde sayfalar olarak mı döndürüleceğini belirleme yeteneği
HTMLUnit Sürücüsünü Kullanma Adımları Selenium
) 1 Adım In Eclipse, aşağıdaki kodu kopyalayın. Standart selenium kütüphane dosyalarını projeye ekleyin. Ek jar dosyaları gerekmez.
package 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) { // Creating a new instance of the HTML unit driver WebDriver driver = new HtmlUnitDriver(); // Navigate to Google driver.get("http://www.google.com"); // Locate the searchbox using its name WebElement element = driver.findElement(By.name("q")); // Enter a search query element.sendKeys("Guru99"); // Submit the query. Webdriver searches for the form using the text input element automatically // No need to locate/find the submit button element.submit(); // This code will print the page title System.out.println("Page title is: " + 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 herhangi bir görsel kesinti olmadan arka planda ç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 yürütmek daha kolaydır. İçin ideal Yük Testi.
Sınırlamalar:
- Diğer tarayıcıları taklit edemez JavaKomut dosyası davranışı
PhantomJS
PhantomJS, başsız bir tarayıcıdır JavaScript API. Headless Website Testing, web sayfalarına erişim ve düzenleme için en uygun çözümdür ve standart DOM API ile birlikte gelir.
PhantomJS'yi Seleniun ile kullanmak için GhostDriver'ı kullanmak gerekir. Hayalet Sürücü PhantomJS için Webdriver Wire protokolünün basit JS'deki bir uygulamasıdır.
PhatomJS'nin son sürümü entegre GhostDriver ve ayrıca yüklemeye gerek yoktur.
İşte sistem nasıl çalışıyor?
Çalıştırılacak adımlar Selenium PhatomJS ile
) 1 Adım ihtiyacınız olan Eclipse ile Selenium yüklü
) 2 Adım PhantomJS'yi indirin okuyun
) 3 Adım İndirilen klasörü Program Dosyalarına çıkartın
) 4 Adım PhantomJS Sürücüsünü şuradan indirin: okuyun. Kavanozu projenize ekleyin
) 5 Adım Aşağıdaki kodu Eclipse'e yapıştırın
package htmldriver; import java.io.File; 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) { File file = new File("C:/Program Files/phantomjs-2.0.0-windows/bin/phantomjs.exe"); System.setProperty("phantomjs.binary.path", file.getAbsolutePath()); WebDriver driver = new PhantomJSDriver(); driver.get("http://www.google.com"); WebElement element = driver.findElement(By.name("q")); element.sendKeys("Guru99"); element.submit(); System.out.println("Page title is: " + driver.getTitle()); driver.quit(); } }
) 6 Adım 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 güvenlik uyarısı alabilirsiniz. Windows PhantomJS'nin çalıştırılmasına izin vermek için. Erişime İzin Ver'e tıklayın.
Birçok kuruluş Phantom.JS'yi çeşitli amaçlar için kullanır; örneğin,
- Başsız Test
- ekran Yakalama
- Sayfa Otomasyonu
- ağ İzleme
- Kullanıcıları için kontrol paneli ekran görüntülerini oluşturmak
- 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 hızlı bir şekilde ve herhangi bir görsel kesinti olmadan test etmek için başsız tarayıcı Test yapmak kullanılır. Hızı, doğruluğu ve kolay erişilebilir özellikleri nedeniyle HTML birim sürücüsü ve PhantomJS, başsız tarayıcı otomasyon 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 ne kadar kolay yürütebileceğini öğrenebilirsiniz.