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

Spisie treści:

Anonim

Co to jest testowanie w różnych przeglądarkach?

Testy między przeglądarkami to rodzaj testu funkcjonalnego sprawdzającego, czy aplikacja internetowa działa zgodnie z oczekiwaniami w różnych przeglądarkach.

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

Aplikacje internetowe są zupełnie inne niż aplikacje Windows. Aplikacja internetowa może zostać otwarta przez użytkownika końcowego w dowolnej przeglądarce. Na przykład niektórzy ludzie wolą otwierać https://twitter.com w przeglądarce Firefox, podczas gdy inni mogą używać przeglądarki Chrome lub IE .

Na poniższym diagramie widać, że w IE okienko logowania Twittera nie pokazuje krzywej we wszystkich rogach, ale możemy to zobaczyć w przeglądarce Chrome.

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

Ten motyw można spełnić dzięki testowaniu produktu w różnych przeglądarkach.

Przyczyna problemów z różnymi przeglądarkami

  1. Niezgodność rozmiaru czcionki w różnych przeglądarkach.
  2. Implementacja JavaScript może być inna.
  3. CSS, różnica w walidacji HTML może tam być.
  4. Niektóre przeglądarki nadal nie obsługują HTML5.
  5. Wyrównanie strony i rozmiar div.
  6. Orientacja obrazu.
  7. Niezgodność przeglądarki z systemem operacyjnym. Itp.

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

Jeśli używamy Selenium WebDriver, możemy zautomatyzować przypadki testowe przy użyciu przeglądarek Internet Explorer, FireFox, Chrome, Safari.

Aby wykonywać przypadki testowe z różnymi przeglądarkami na tej samej maszynie w tym samym czasie, możemy zintegrować framework Testng z Selenium WebDriver.

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

Ten test.xml zostanie zmapowany z przypadkiem testowym, który będzie wyglądał tak

Tutaj, ponieważ testing.xml ma dwa tagi Test („ChromeTest”, „FirefoxTest”), ten przypadek testowy zostanie wykonany dwa razy 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 test „FirefoxTest” przekaże wartość parametru „browser” jako „Firefox”, więc FirefoxDriver zostanie uruchomiony. Ten przypadek testowy zostanie uruchomiony w przeglądarce FireFox.

Kompletny kod:

Guru99CrossBrowserScript.java

pakiet 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 {Sterownik WebDriver;/ *** Ta funkcja będzie wykonywana przed każdym tagiem Test w pliku testng.xml* Przeglądarka @param* Wyjątek @throws* /@BeforeTest@Parameters („przeglądarka”)public void setup (string browser) zgłasza wyjątek {// Sprawdź, czy parametr przekazany z TestNG to „firefox”if (browser.equalsIgnoreCase ("firefox")) {// utwórz instancję firefoxSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");driver = nowy FirefoxDriver ();}// Sprawdź, czy parametr przekazany jako „chrome”else if (browser.equalsIgnoreCase ("chrome")) {// ustaw ścieżkę do chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// utwórz instancję chromesterownik = nowy ChromeDriver ();}// Sprawdź, czy parametr przekazany jako „Edge”else if (browser.equalsIgnoreCase ("Edge")) {// ustaw ścieżkę do Edge.exeSystem.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// utwórz instancję Edgedriver = nowy EdgeDriver ();}jeszcze{// Jeśli żadna przeglądarka nie przeszła wyjątkuzgłoś nowy wyjątek („Przeglądarka jest nieprawidłowa”);}driver.manage (). timeouts (). implicitlyWait (10, TimeUnit.SECONDS);}@Testpublic void testParameterWithXML () rzuca InterruptedException {driver.get („http://demo.guru99.com/V4/”);// Znajdź nazwę użytkownikaWebElement userName = driver.findElement (By.name ("uid"));// Wypełnij nazwę użytkownikanazwa_użytkownika.sendKeys ("guru99");//Znajdź hasłoWebElement hasło = driver.findElement (By.name ("hasło"));// Wpisz hasłopassword.sendKeys ("guru99");}}

testing.xml

UWAGA: Aby uruchomić test, kliknij prawym przyciskiem myszy plik testing.xml, wybierz opcję Uruchom jako i kliknij przycisk TestNG

Podsumowanie

  1. Testowanie w różnych przeglądarkach to technika testowania aplikacji internetowych w różnych przeglądarkach internetowych.
  2. Selenium może obsługiwać różne typy przeglądarek do automatyzacji.
  3. Selenium można zintegrować z TestNG, aby przeprowadzać testy w wielu przeglądarkach.
  4. Z parametrów w testing.xml możemy przekazać nazwę przeglądarki, aw przypadku testowym możemy odpowiednio stworzyć referencję WebDriver.

Uwaga: podany program został zbudowany i przetestowany na selenie 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 pliki projektu Selenium do wersji demonstracyjnej w tym samouczku