Apa itu Pengujian Lintas Browser?
Pengujian Lintas Browser adalah jenis pengujian fungsional untuk memeriksa apakah aplikasi web Anda berfungsi seperti yang diharapkan di browser yang berbeda.
Mengapa kita membutuhkan Pengujian Lintas Browser?
Aplikasi berbasis web sama sekali berbeda dari aplikasi Windows. Aplikasi web dapat dibuka di browser apa pun oleh pengguna akhir. Misalnya, beberapa orang lebih suka membuka https://twitter.com di browser Firefox, sementara yang lain dapat menggunakan browser Chrome atau IE .
Pada diagram di bawah ini Anda dapat mengamati bahwa di IE , kotak login Twitter tidak menunjukkan kurva di semua sudut, tetapi kita dapat melihatnya di browser Chrome.
Jadi kami perlu memastikan bahwa aplikasi web akan berfungsi seperti yang diharapkan di semua browser populer sehingga lebih banyak orang dapat mengakses dan menggunakannya.
Motif ini dapat dipenuhi dengan Pengujian Lintas Browser produk.
Alasan Masalah Lintas Browser
- Ukuran font tidak cocok di browser yang berbeda.
- Penerapan JavaScript bisa berbeda.
- CSS, perbedaan validasi HTML bisa ada di sana.
- Beberapa browser masih belum mendukung HTML5.
- Perataan halaman dan ukuran div.
- Orientasi gambar.
- Ketidakcocokan browser dengan OS. Dll
Cara melakukan Pengujian Lintas Browser
Jika kami menggunakan Selenium WebDriver, kami dapat mengotomatiskan kasus pengujian menggunakan browser Internet Explorer, FireFox, Chrome, Safari.
Untuk menjalankan kasus uji dengan browser berbeda di mesin yang sama pada saat yang sama kita dapat mengintegrasikan kerangka kerja Testng dengan Selenium WebDriver.
Testing.xml Anda akan terlihat seperti itu,
Testing.xml ini akan dipetakan dengan Test Case yang akan terlihat seperti itu
Di sini karena testing.xml memiliki dua tag Test ('ChromeTest', 'FirefoxTest'), kasus pengujian ini akan dijalankan dua kali untuk 2 browser yang berbeda.
Tes Pertama 'ChromeTest' akan meneruskan nilai parameter 'browser' sebagai 'chrome' sehingga ChromeDriver akan dijalankan. Kasus uji ini akan berjalan di browser Chrome.
Tes Kedua 'FirefoxTest' akan memberikan nilai parameter 'browser' sebagai 'Firefox' sehingga FirefoxDriver akan dijalankan. Kasus uji ini akan berjalan di browser FireFox.
Kode Lengkap:
Guru99CrossBrowserScript.java
paket parallelTest;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;impor org.openqa.selenium.chrome.ChromeDriver;impor org.openqa.selenium.edge.EdgeDriver;impor org.openqa.selenium.firefox.FirefoxDriver;import org.testng.annotations.BeforeTest;import org.testng.annotations.Parameters;import org.testng.annotations.Test;public class CrossBrowserScript {Driver WebDriver;/ *** Fungsi ini akan dijalankan sebelum setiap tag Uji di testng.xml* Browser @param* @throws Exception* /@Sebelumnya@Pareters ("browser")penyiapan public void (browser String) melempar Exception {// Periksa apakah parameter yang diteruskan dari TestNG adalah 'firefox'if (browser.equalsIgnoreCase ("firefox")) {// buat instance firefoxSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");driver = baru FirefoxDriver ();}// Periksa apakah parameter diteruskan sebagai 'chrome'else if (browser.equalsIgnoreCase ("chrome")) {// setel jalur ke chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// buat instance chromedriver = new ChromeDriver ();}// Periksa apakah parameter dikirimkan sebagai 'Edge'else if (browser.equalsIgnoreCase ("Edge")) {// setel jalur ke Edge.exeSystem.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// buat instance Edgedriver = baru EdgeDriver ();}lain{// Jika tidak ada browser yang lolos, lempar pengecualianmelempar Pengecualian baru ("Browser tidak benar");}driver.manage (). timeout (). implicitlyWait (10, TimeUnit.SECONDS);}@Ujipublic void testParameterWithXML () melempar InterruptedException {driver.get ("http://demo.guru99.com/V4/");// Temukan nama penggunaWebElement userName = driver.findElement (By.name ("uid"));// Isi nama penggunauserName.sendKeys ("guru99");// Temukan kata sandiWebElement password = driver.findElement (By.name ("password"));// Isi kata sandipassword.sendKeys ("guru99");}}
testing.xml
xml version = "1.0" encoding = "UTF-8"?>kelas> kelas> kelas>
CATATAN: Untuk menjalankan tes, Klik kanan pada testing.xml, Pilih Run As, dan Klik TestNG
Ringkasan
- Pengujian Lintas browser adalah teknik untuk menguji aplikasi web dengan browser web yang berbeda.
- Selenium dapat mendukung berbagai jenis browser untuk otomatisasi.
- Selenium dapat diintegrasikan dengan TestNG untuk melakukan Pengujian Multi Browser.
- Dari parameter di testing.xml kita bisa melewatkan nama browser, dan dalam kasus uji, kita bisa membuat referensi WebDriver yang sesuai.
Catatan: Program yang diberikan dibuat & diuji pada selenium 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 & Microsoft Edge 14.14393. Jika program memberikan kesalahan, harap perbarui driver
Unduh File Proyek Selenium untuk Demo dalam Tutorial ini