Uji Lintas Penyemak Imbas menggunakan Selenium WebDriver

Isi kandungan:

Anonim

Apa itu Ujian Lintas Penyemak Imbas?

Cross Browser Testing adalah jenis ujian fungsional untuk memeriksa bahawa aplikasi web anda berfungsi seperti yang diharapkan pada penyemak imbas yang berbeza.

Mengapa kita memerlukan Ujian Lintas Penyemak Imbas?

Aplikasi berasaskan web sama sekali berbeza dengan aplikasi Windows. Aplikasi web boleh dibuka di mana-mana penyemak imbas oleh pengguna akhir. Sebagai contoh, sebilangan orang lebih suka membuka https://twitter.com di penyemak imbas Firefox, sementara yang lain boleh menggunakan penyemak imbas Chrome atau IE .

Dalam rajah di bawah anda dapat melihat bahawa di IE , kotak masuk Twitter tidak menunjukkan lekukan di semua sudut, tetapi kami dapat melihatnya di penyemak imbas Chrome.

Oleh itu, kita perlu memastikan bahawa aplikasi web akan berfungsi seperti yang diharapkan di semua penyemak imbas yang popular agar lebih banyak orang dapat mengaksesnya dan menggunakannya.

Motif ini dapat dipenuhi dengan Cross Browser Testing produk.

Sebab Masalah Penyemak Imbas Lintas

  1. Ketidakcocokan saiz fon dalam penyemak imbas yang berbeza.
  2. Pelaksanaan JavaScript boleh berbeza.
  3. CSS, perbezaan pengesahan HTML boleh ada.
  4. Beberapa penyemak imbas masih tidak menyokong HTML5.
  5. Penjajaran halaman dan ukuran div.
  6. Orientasi gambar.
  7. Ketidaksesuaian penyemak imbas dengan OS. Dan lain-lain.

Cara melakukan Uji Lintas Penyemak Imbas

Sekiranya kita menggunakan Selenium WebDriver, kita dapat mengautomasikan kes ujian menggunakan penyemak imbas Internet Explorer, FireFox, Chrome, Safari.

Untuk melaksanakan kes ujian dengan penyemak imbas yang berbeza dalam mesin yang sama pada masa yang sama kita dapat mengintegrasikan rangka kerja Testng dengan Selenium WebDriver.

Ujian.xml anda akan kelihatan seperti itu,

Testing.xml ini akan dipetakan dengan Test Case yang akan kelihatan seperti itu

Di sini kerana testing.xml mempunyai dua tag Uji ('ChromeTest', 'FirefoxTest'), kes ujian ini akan dijalankan dua kali untuk 2 penyemak imbas yang berbeza.

Ujian Pertama 'ChromeTest' akan memberikan nilai parameter 'browser' sebagai 'chrome' sehingga ChromeDriver akan dijalankan. Kes ujian ini akan dijalankan pada penyemak imbas Chrome.

Ujian Kedua 'FirefoxTest' akan memberikan nilai parameter 'browser' sebagai 'Firefox' sehingga FirefoxDriver akan dijalankan. Kes ujian ini akan dijalankan pada penyemak imbas FireFox.

Kod Lengkap:

Guru99CrossBrowserScript.java

pakej parallelTest;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.edge.EdgeDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.testng.annotations.BeforeTest;import org.testng.annotations.Parameter;import org.testng.annotations.Test;CrossBrowserScript kelas awam {Pemacu WebDriver;/ *** Fungsi ini akan dilaksanakan sebelum setiap tag Uji dalam testng.xml* Penyemak imbas @param* Pengecualian @throws* /@BeforeTest@Parameter ("penyemak imbas")penyediaan kekosongan awam (String browser) membuang Pengecualian {// Periksa sama ada parameter yang dilalui dari TestNG adalah 'firefox'jika (browser.equalsIgnoreCase ("firefox")) {// buat contoh firefoxSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");driver = FirefoxDriver baru ();}// Periksa sama ada parameter dilewatkan sebagai 'chrome'lain jika (browser.equalsIgnoreCase ("chrome")) {// tetapkan jalan ke chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// buat contoh krompemacu = ChromeDriver baru ();}// Periksa sama ada parameter dilewatkan sebagai 'Edge'lain jika (browser.equalsIgnoreCase ("Edge")) {// tetapkan jalan ke Edge.exeSystem.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// buat contoh Edgedriver = EdgeDriver baru ();}lain {// Sekiranya tidak ada penyemak imbas yang dilalui pengecualianmembuang Pengecualian baru ("Penyemak Imbas tidak betul");}driver.manage (). timeout (). secara implisitWait (10, TimeUnit.SECONDS);}@ Ujianujian kekosongan awamParameterWithXML () melemparkan InterruptException {driver.get ("http://demo.guru99.com/V4/");// Cari nama penggunaWebElement userName = driver.findElement (By.name ("uid"));// Isi nama penggunauserName.sendKeys ("guru99");// Cari kata laluanKata laluan WebElement = driver.findElement (By.name ("kata laluan"));// Isi kata laluankata laluan.sendKeys ("guru99");}}

pengujian.xml




CATATAN: Untuk menjalankan ujian, Klik kanan pada testing.xml, Pilih Run As, dan Klik TestNG

Ringkasan

  1. Uji silang penyemak imbas adalah teknik untuk menguji aplikasi web dengan penyemak imbas web yang berbeza.
  2. Selenium dapat menyokong pelbagai jenis penyemak imbas untuk automasi.
  3. Selenium dapat disatukan dengan TestNG untuk melakukan Uji Pelbagai Pelayar.
  4. Dari parameter di testing.xml kita dapat menyampaikan nama penyemak imbas, dan dalam kes ujian, kita dapat membuat rujukan WebDriver yang sesuai.

Catatan: Program yang diberikan dibina & diuji pada selenium 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 & Microsoft Edge 14.14393. Sekiranya program memberikan ralat, sila kemas kini pemacu

Muat turun Selenium Project Files untuk Demo dalam Tutorial ini