Ujian Penyemak Imbas Tanpa Selenium: HTMLUnitDriver & PhantomJS

Isi kandungan:

Anonim

Pemacu Web Selenium adalah alat automasi web yang membolehkan anda menjalankan ujian terhadap penyemak imbas yang berbeza. Penyemak imbas ini boleh berupa Internet Explorer, Firefox atau Chrome. Untuk menggunakan penyemak imbas tertentu dengan Selenium, anda memerlukan pemacu yang sesuai.

Semasa ujian dijalankan, Selenium melancarkan penyemak imbas yang sesuai yang disebut dalam skrip dan melaksanakan langkah-langkah ujian. Anda dapat melihat penyemak imbas dan pelaksanaan ujian beraksi.

Apakah Penyemak Imbas Tanpa Kepala?

Penyemak imbas tanpa kepala adalah penyemak imbas web tanpa antara muka pengguna grafik . Program ini akan berfungsi seperti penyemak imbas tetapi tidak akan menunjukkan GUI.

Beberapa contoh Pemacu Tanpa Kepala termasuk

  • HtmlUnit
  • Hantu
  • PhantomJS
  • ZombieJS
  • Pemandu web Watir

Dalam tutorial ini kita akan memberi tumpuan kepada HtmlUnit dan PhatomJS

HTMLUnitDriver

HTML UnitDriver adalah penyemak imbas tanpa kepala pelaksanaan paling ringan dan terpantas untuk WebDriver. Ia berdasarkan HtmlUnit. Ia dikenali sebagai Pemandu Penyemak Imbas Tanpa Kepala . Ia sama dengan pemacu Chrome, IE, atau FireFox, tetapi tidak mempunyai GUI sehingga seseorang tidak dapat melihat pelaksanaan ujian di layar.

Ciri pemacu unit HTML

  • Sokongan untuk protokol HTTPS dan HTTP
  • Sokongan untuk respons HTML (mengklik pautan, menghantar borang, mengikuti model DOM dari dokumen HTML dll.)
  • Sokongan untuk kuki
  • Sokongan pelayan proksi
  • Sokongan untuk pengesahan asas dan NTLM
  • Sokongan JavaScript yang sangat baik
  • Sokongan untuk menghantar kaedah GET dan POST
  • Keupayaan untuk menyesuaikan tajuk permintaan yang dihantar ke pelayan
  • Keupayaan untuk menentukan sama ada respons yang gagal dari pelayan harus membuang pengecualian atau harus dikembalikan sebagai halaman jenis yang sesuai

Langkah Menggunakan Pemacu HTMLUnit dengan Selenium

Langkah 1) Di Eclipse, salin kod berikut. Tambahkan fail perpustakaan selenium standard ke projek. Tidak perlu fail balang tambahan.

pakej htmldriver;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.htmlunit.HtmlUnitDriver;kelas awam htmlUnitYest {utama kekosongan statik awam (String [] args) {// Membuat contoh baru pemacu unit HTMLPemacu WebDriver = HtmlUnitDriver baru ();// Navigasi ke Googledriver.get ("http://www.google.com");// Cari kotak carian menggunakan namanyaElemen WebElement = driver.findElement (By.name ("q"));// Masukkan pertanyaan carianelement.sendKeys ("Guru99");// Hantar pertanyaan. Pemandu laman web mencari borang menggunakan elemen input teks secara automatik// Tidak perlu mencari / mencari butang hantarelement.submit ();// Kod ini akan mencetak tajuk halamanSistem. keluar .println ("Judul halaman adalah: + driver.getTitle ());driver.quit ();}}

Langkah 2) Jalankan kod. Anda tidak akan melihat pelayar dilancarkan dan hasilnya ditunjukkan di konsol.

Kelebihan Pemandu Unit Html:

  • Oleh kerana ia tidak menggunakan GUI untuk menguji, ujian anda akan berjalan di latar belakang tanpa gangguan visual
  • Berbanding dengan kes lain, pelaksanaannya lebih pantas
  • Untuk menjalankan ujian anda melalui pemacu HtmlUnit, anda juga boleh memilih versi penyemak imbas lain
  • Ia bebas platform dan lebih mudah menjalankan beberapa ujian secara serentak. Sesuai untuk Ujian Beban.

Batasan:

  • Ia tidak dapat meniru tingkah laku penyemak imbas yang lain

PhantomJS

PhantomJS adalah penyemak imbas tanpa kepala dengan API JavaScript. Ini adalah penyelesaian optimum untuk Pengujian Laman Web Tanpa Kepala, mengakses dan memanipulasi laman web & dilengkapi dengan API DOM standard.

Untuk menggunakan PhantomJS dengan Seleniun, seseorang harus menggunakan GhostDriver. GhostDriver adalah pelaksanaan protokol Wire Webdriver dalam JS sederhana untuk PhantomJS.

Keluaran terbaru PhatomJS telah menggabungkan GhostDriver dan tidak perlu memasangnya secara berasingan.

Inilah cara sistem berfungsi-

Langkah menjalankan Selenium dengan PhatomJS

Langkah 1) Anda memerlukan Gerhana dengan Selenium dipasang

Langkah 2) Muat turun PhantomJS di sini

Langkah 3) Ekstrak folder yang dimuat turun ke Program Files

Langkah 4) Muat turun Pemacu PhantomJS dari sini. Tambahkan balang ke projek anda

Langkah 5) Tampal kod berikut dalam gerhana

pakej 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;hantu kelas awam {utama kekosongan statik awam (String [] args) {Fail fail = Fail baru ("C: / Program Files / phantomjs-2.0.0-windows / bin / phantomjs.exe");System.setProperty ("phantomjs.binary.path", file.getAbsolutePath ());Pemacu WebDriver = PhantomJSDriver baru ();driver.get ("http://www.google.com");Elemen WebElement = driver.findElement (By.name ("q"));element.sendKeys ("Guru99");element.submit ();System.out.println ("Judul halaman adalah: + driver.getTitle ());driver.quit ();}}

Langkah 6) Jalankan kod. Anda akan melihat output ditunjukkan dalam konsol dan penyemak imbas tidak dilancarkan.

CATATAN : Pada jalan pertama, berdasarkan tetapan anda, anda mungkin mendapat amaran keselamatan dari Windows untuk membenarkan menjalankan PhantomJS. Klik pada Benarkan Akses.

Banyak organisasi menggunakan Phantom.JS untuk pelbagai tujuan, sebagai contoh,

  • Ujian Tanpa Kepala
  • Tangkapan skrin
  • Automasi Halaman
  • Pemantauan Rangkaian
  • Untuk memberikan tangkapan skrin papan pemuka untuk pengguna mereka
  • Untuk menjalankan ujian Unit pada baris arahan
  • Untuk menghasilkan buku panduan pekerja dari HTML ke PDF
  • Digabungkan dengan QUnit untuk suite ujian

Ringkasan

Untuk menguji aplikasi dengan pantas di pelbagai penyemak imbas dan tanpa gangguan visual, Uji penyemak imbas tanpa kepala digunakan. Kerana kepantasan, ketepatan dan ciri yang mudah diakses, pemacu unit HTML dan PhantomJS semakin popular untuk ujian penyemak imbas tanpa kepala. Dengan mengikuti beberapa langkah mudah anda dapat mengetahui seberapa mudah alat ini dapat disatukan dengan alat lain dan dapat melaksanakan kod ujian.