Pengujian Lintas Browser menggunakan Selenium webdriver
Pengujian Lintas Browser menggunakan Selenium
Pengujian Lintas Browser adalah jenis pengujian fungsional untuk memeriksa apakah aplikasi web Anda berfungsi seperti yang diharapkan di berbagai browser.
Mengapa kita memerlukan Pengujian Lintas Browser?
Aplikasi berbasis web sama sekali berbeda dari Windows aplikasi. Aplikasi web dapat dibuka di browser apa pun oleh pengguna akhir. Misalnya, sebagian orang lebih suka terbuka https://twitter.com in Firefox peramban, sementara yang lain bisa menggunakan Browser Chrome or IE.
Pada diagram di bawah ini Anda dapat mengamatinya IE, kotak masuk Twitter tidak menunjukkan lengkungan di semua sudut, tetapi kita dapat melihatnya di peramban Chrome.
Jadi kita 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 Cross Browser pengujian Dari produk.
Alasan Masalah Lintas Browser
- Ukuran font tidak cocok di browser yang berbeda.
- JavaImplementasi skrip bisa berbeda.
- Perbedaan validasi CSS, HTML mungkin ada.
- Beberapa browser masih belum mendukung HTML5.
- Perataan halaman dan ukuran div.
- Orientasi gambar.
- Ketidakcocokan browser dengan OS. Dll.
Bagaimana Melakukan Pengujian Lintas Browser
Jika kita menggunakan Selenium WebDriver, kita dapat mengotomatiskan kasus pengujian menggunakan Internet Explorer, FireFox, Chrome, browser Safari.
Untuk menjalankan kasus uji dengan browser berbeda di mesin yang sama pada waktu yang sama, kami dapat mengintegrasikannya TestNG kerangka dengan Selenium Pengemudi Web.
Testing.xml Anda akan terlihat seperti itu,
Testing.xml ini akan dipetakan dengan Uji Kasus yang akan terlihat seperti itu
Di sini karena pengujian.xml memiliki dua tag Tes ('ChromeTest','FirefoxTest'), test case ini akan dieksekusi dua kali untuk 2 browser berbeda.
Tes Pertama 'ChromeTest' akan meneruskan nilai parameter 'browser' sebagai 'chrome' sehingga ChromeDriver akan dieksekusi. Test case ini akan dijalankan pada browser Chrome.
Tes Kedua'FirefoxTest' akan meneruskan nilai parameter 'browser' sebagai 'Firefox' Jadi FirefoxDriver akan dieksekusi. Kasus uji ini akan berjalan di FireFox Browser.
Guru99CrossBrowserScript.java
Kode Lengkap:
package 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.Parameters;
import org.testng.annotations.Test;
public class CrossBrowserScript {
WebDriver driver;
/**
* This function will execute before each Test tag in testng.xml
* @param browser
* @throws Exception
*/
@BeforeTest
@Parameters("browser")
public void setup(String browser) throws Exception{
//Check if parameter passed from TestNG is 'firefox'
if(browser.equalsIgnoreCase("firefox")){
//create firefox instance
System.setProperty("webdriver.gecko.driver", ".\\geckodriver.exe");
driver = new FirefoxDriver();
}
//Check if parameter passed as 'chrome'
else if(browser.equalsIgnoreCase("chrome")){
//set path to chromedriver.exe
System.setProperty("webdriver.chrome.driver",".\\chromedriver.exe");
//create chrome instance
driver = new ChromeDriver();
}
//Check if parameter passed as 'Edge'
else if(browser.equalsIgnoreCase("Edge")){
//set path to Edge.exe
System.setProperty("webdriver.edge.driver",".\\MicrosoftWebDriver.exe");
//create Edge instance
driver = new EdgeDriver();
}
else{
//If no browser passed throw exception
throw new Exception("Browser is not correct");
}
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
@Test
public void testParameterWithXML() throws InterruptedException{
driver.get("https://demo.guru99.com/V4/");
//Find user name
WebElement userName = driver.findElement(By.name("uid"));
//Fill user name
userName.sendKeys("guru99");
//Find password
WebElement password = driver.findElement(By.name("password"));
//Fill password
password.sendKeys("guru99");
}
}
pengujian.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="TestSuite" thread-count="2" parallel="tests" > <test name="ChromeTest"> <parameter name="browser" value="Chrome" /> <classes> <class name="parallelTest.CrossBrowserScript"> </class> </classes> </test> <test name="FirefoxTest"> <parameter name="browser" value="Firefox" /> <classes> <class name="parallelTest.CrossBrowserScript"> </class> </classes> </test> <test name="EdgeTest"> <parameter name="browser" value="Edge" /> <classes> <class name="parallelTest.CrossBrowserScript"> </class> </classes> </test> </suite>
CATATAN: Untuk menjalankan tes, Klik kanan pada pengujian.xml, Pilih Jalankan Sebagai, dan Klik TestNG
Ringkasan
- Cross browser Testing adalah teknik untuk menguji aplikasi web dengan web browser yang berbeda.
- Selenium dapat mendukung berbagai jenis alat pengujian lintas-browser untuk otomatisasi.
- Selenium dapat diintegrasikan dengan TestNG untuk melakukan Pengujian Multi Browser.
- Dari parameter di pengujian.xml kita dapat meneruskan nama browser, dan dalam kasus pengujian, kita dapat 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





