Çapraz Tarayıcı Testi kullanarak Selenium Web Sürücüsü
Çapraz Tarayıcı Testi kullanarak Selenium
Çapraz Tarayıcı Testi web uygulamanızın farklı tarayıcılarda beklendiği gibi çalışıp çalışmadığını kontrol etmek için yapılan bir tür işlevsel testtir.
Neden Çapraz Tarayıcı Testine ihtiyacımız var?
Web tabanlı uygulamalar tamamen farklıdır. Windows uygulamalar. Bir web uygulaması son kullanıcı tarafından herhangi bir tarayıcıda açılabilir. Örneğin, bazı insanlar açmayı tercih ediyor https://twitter.com in Firefox tarayıcı, başkaları kullanabilirken Chrome tarayıcı or IE.
Aşağıdaki şemada bunu görebilirsiniz IETwitter'ın giriş kutusu köşelerde eğri göstermiyor ama bunu Chrome tarayıcısında görebiliyoruz.
Bu nedenle, daha fazla kişinin erişebilmesi ve kullanabilmesi için web uygulamasının tüm popüler tarayıcılarda beklendiği gibi çalışacağından emin olmamız gerekiyor.
Bu amaç Çapraz Tarayıcı ile yerine getirilebilir Test yapmak ürünün.
Tarayıcılar Arası Sorunların Nedeni
- Farklı tarayıcılarda yazı tipi boyutu uyuşmazlığı.
- JavaScriptin uygulanması farklı olabilir.
- CSS, HTML doğrulama farkı olabilir.
- Bazı tarayıcılar hâlâ HTML5'i desteklemiyor.
- Sayfa hizalaması ve div boyutu.
- Görüntü yönlendirmesi.
- Tarayıcının işletim sistemiyle uyumsuzluğu. Vesaire.
Çapraz Tarayıcı Testi Nasıl Yapılır?
eğer kullanıyorsak Selenium WebDriver, Internet Explorer, Firewall kullanarak test vakalarını otomatikleştirebilirizFox, Chrome, Safari tarayıcıları.
Test senaryolarını aynı makinede farklı tarayıcılarla aynı anda yürütmek için entegre edebiliriz TestNG çerçeve Selenium WebDriver.
Test.xml dosyanız şöyle görünecek,
Bu test.xml, aşağıdakilerle eşleşecektir: Test Durumu hangisi buna benzeyecek
Test.xml dosyasında iki Test etiketi bulunduğundan ('ChromeTest','FirefoxTest'), bu test durumu 2 farklı tarayıcı için iki kez yürütülecektir.
İlk Test 'ChromeTest', 'tarayıcı' parametresinin değerini 'chrome' olarak iletecek ve böylece ChromeDriver yürütülecektir. Bu test senaryosu Chrome tarayıcıda çalışacaktır.
İkinci Sınav'FirefoxTest', 'tarayıcı' parametresinin değerini ' olarak iletecektirFirefox' Bu yüzden FirefoxSürücü yürütülecek. Bu test durumu Fire üzerinde çalışacakFox tarayıcı.
Guru99CrossBrowserScript.java
Kodu Tamamla:
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("http://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"); } }
test.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>
NOT: Testi çalıştırmak için sağ tıklayın. test.xml, Farklı Çalıştır'ı seçin ve tıklayın. TestNG
ÖZET
- Çapraz tarayıcı testi, web uygulamasını farklı web tarayıcılarıyla test etmeye yönelik bir tekniktir.
- Selenium farklı türde destekleyebilir tarayıcılar arası test aracı otomasyon için.
- Selenium entegre edilebilir TestNG Çoklu Tarayıcı Testi gerçekleştirmek için.
- Test.xml dosyasındaki parametrelerden tarayıcı adını iletebiliriz ve bir test durumunda buna göre WebDriver referansı oluşturabiliriz.
Not: Verilen program Selenium 3.0.1, Chrome 56.0.2924.87 üzerinde oluşturulmuş ve test edilmiştir. Firefox 47.0.2 & Microsoft Edge 14.14393. Programlar hata verirse lütfen sürücüyü güncelleyin
Atomic Cüzdanı indirin : Selenium Bu Eğitimdeki Demoya İlişkin Proje Dosyaları