Testowanie w różnych przeglądarkach przy użyciu Selenium Sterownik sieciowy

Testowanie w różnych przeglądarkach przy użyciu Selenium

Testowanie w różnych przeglądarkach to rodzaj testu funkcjonalnego mającego na celu sprawdzenie, czy Twoja aplikacja internetowa działa zgodnie z oczekiwaniami w różnych przeglądarkach.

Testowanie w różnych przeglądarkach przy użyciu Selenium

Dlaczego potrzebujemy testów w różnych przeglądarkach?

Aplikacje internetowe są zupełnie inne Windows Aplikacje. Aplikację internetową użytkownik końcowy może otworzyć w dowolnej przeglądarce. Na przykład niektórzy ludzie wolą otwierać https://twitter.com in Firefox przeglądarka, podczas gdy inni mogą używać Przeglądarka Chrome or IE.

Na poniższym diagramie widać, że w IE, pole logowania na Twitterze nie jest zakrzywione na wszystkich rogach, ale możemy to zobaczyć w przeglądarce Chrome.

Testowanie w różnych przeglądarkach

Musimy więc zadbać o to, aby aplikacja internetowa działała zgodnie z oczekiwaniami we wszystkich popularnych przeglądarkach, aby więcej osób mogło uzyskać do niej dostęp i z niej korzystać.

Motyw ten można spełnić za pomocą przeglądarki Cross Browser Testowanie produktu.

Przyczyna Problemy z różnymi przeglądarkami

  1. Niezgodność rozmiaru czcionki w różnych przeglądarkach.
  2. JavaImplementacja skryptu może być różna.
  3. Może występować różnica w walidacji CSS i HTML.
  4. Niektóre przeglądarki nadal nie obsługują HTML5.
  5. Wyrównanie strony i rozmiar elementu div.
  6. Orientacja obrazu.
  7. Niekompatybilność przeglądarki z systemem operacyjnym. Itp.

Jak przeprowadzić testowanie w różnych przeglądarkach

Jeśli używamy Selenium WebDriver pozwala na automatyzację przypadków testowych przy użyciu przeglądarek Internet Explorer i FireFox, Chrome, przeglądarki Safari.

Aby wykonywać przypadki testowe w różnych przeglądarkach na tej samej maszynie w tym samym czasie, możemy dokonać integracji TestNG ramy z Selenium Sterownik sieciowy.

Twój plik testowy.xml będzie wyglądał tak,

Testowanie w różnych przeglądarkach

Ten plik testowy.xml będzie mapowany z Przypadek testowy który będzie tak wyglądał

Testowanie w różnych przeglądarkach

Tutaj, ponieważ plik testowy.xml ma dwa znaczniki testowe („ChromeTest”,”FirefoxTest”), ten przypadek testowy zostanie wykonany dwukrotnie dla 2 różnych przeglądarek.

Pierwszy test „ChromeTest” przekaże wartość parametru „browser” jako „chrome”, więc ChromeDriver zostanie wykonany. Ten przypadek testowy będzie działać w przeglądarce Chrome.

Drugi testFirefoxTest” przekaże wartość parametru „przeglądarka” jako „Firefox' Więc FirefoxSterownik zostanie wykonany. Ten przypadek testowy zostanie uruchomiony w FireFox browser.

Guru99CrossBrowserScript.java

Kompletny kod:

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");
	}
}

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

UWAGA: Aby uruchomić test, kliknij prawym przyciskiem myszy testowanie.xml, Wybierz opcję Uruchom jako i kliknij TestNG

Testowanie w różnych przeglądarkach

Podsumowanie

  1. Testowanie między przeglądarkami to technika testowania aplikacji internetowych za pomocą różnych przeglądarek internetowych.
  2. Selenium może obsługiwać różne typy narzędzie do testowania w różnych przeglądarkach dla automatyzacji.
  3. Selenium można zintegrować z TestNG aby przeprowadzić testowanie wielu przeglądarek.
  4. Z parametrów w plikutesting.xml możemy przekazać nazwę przeglądarki, a w przypadku testowym możemy odpowiednio utworzyć referencję do WebDrivera.

Uwaga: Podany program został zbudowany i przetestowany na Selenium 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 i Microsoft Edge 14.14393. Jeśli programy wyświetlają błąd, zaktualizuj sterownik

Pobierz Selenium Pliki projektu dla wersji demonstracyjnej w tym samouczku