Ç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.

Çapraz Tarayıcı Testi Kullanarak Selenium

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.

Çapraz Tarayıcı Testi

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

  1. Farklı tarayıcılarda yazı tipi boyutu uyuşmazlığı.
  2. JavaScriptin uygulanması farklı olabilir.
  3. CSS, HTML doğrulama farkı olabilir.
  4. Bazı tarayıcılar hâlâ HTML5'i desteklemiyor.
  5. Sayfa hizalaması ve div boyutu.
  6. Görüntü yönlendirmesi.
  7. 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,

Çapraz Tarayıcı Testi

Bu test.xml, aşağıdakilerle eşleşecektir: Test Durumu hangisi buna benzeyecek

Çapraz Tarayıcı Testi

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

Çapraz Tarayıcı Testi

ÖZET

  1. Çapraz tarayıcı testi, web uygulamasını farklı web tarayıcılarıyla test etmeye yönelik bir tekniktir.
  2. Selenium farklı türde destekleyebilir tarayıcılar arası test aracı otomasyon için.
  3. Selenium entegre edilebilir TestNG Çoklu Tarayıcı Testi gerçekleştirmek için.
  4. 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ı