Cos'è il Cross Browser Test?
Cross Browser Testing è un tipo di test funzionale per verificare che la tua applicazione web funzioni come previsto nei diversi browser.
Perché abbiamo bisogno del Cross Browser Test?
Le applicazioni basate sul Web sono totalmente diverse dalle applicazioni Windows. Un'applicazione web può essere aperta in qualsiasi browser dall'utente finale. Ad esempio, alcune persone preferiscono aprire https://twitter.com nel browser Firefox, mentre altri possono utilizzare il browser Chrome o IE .
Nel diagramma sottostante puoi osservare che in IE , la casella di login di Twitter non mostra la curva in tutti gli angoli, ma siamo in grado di vederla nel browser Chrome.
Quindi dobbiamo assicurarci che l'applicazione web funzioni come previsto in tutti i browser più diffusi in modo che più persone possano accedervi e utilizzarla.
Questo motivo può essere soddisfatto con il Cross Browser Testing del prodotto.
Motivo Problemi con il browser
- Mancata corrispondenza delle dimensioni dei caratteri nei diversi browser.
- L'implementazione di JavaScript può essere diversa.
- CSS, la differenza di convalida HTML può essere presente.
- Alcuni browser non supportano ancora HTML5.
- Allineamento della pagina e dimensione del div.
- Orientamento dell'immagine.
- Incompatibilità del browser con il sistema operativo. Eccetera.
Come eseguire il Cross Browser Testing
Se utilizziamo Selenium WebDriver, possiamo automatizzare i casi di test utilizzando i browser Internet Explorer, FireFox, Chrome, Safari.
Per eseguire casi di test con diversi browser sulla stessa macchina contemporaneamente, possiamo integrare il framework Testng con Selenium WebDriver.
Il tuo testing.xml avrà questo aspetto,
Questo testing.xml verrà mappato con il test case che avrà questo aspetto
In questo caso, poiché testing.xml ha due tag Test ("ChromeTest", "FirefoxTest"), questo test case verrà eseguito due volte per 2 browser diversi.
Il primo test "ChromeTest" passerà il valore del parametro "browser" come "chrome", quindi verrà eseguito ChromeDriver. Questo test case verrà eseguito sul browser Chrome.
Secondo test "FirefoxTest" passerà il valore del parametro "browser" come "Firefox", quindi verrà eseguito FirefoxDriver. Questo test case verrà eseguito sul browser FireFox.
Codice completo:
Guru99CrossBrowserScript.java
pacchetto 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 {Driver WebDriver;/ *** Questa funzione verrà eseguita prima di ogni tag Test in testng.xml* @param browser* @throws Eccezione* /@BeforeTest@Parameters ("browser")public void setup (String browser) genera Eccezione {// Controlla se il parametro passato da TestNG è "firefox"if (browser.equalsIgnoreCase ("firefox")) {// crea un'istanza di FirefoxSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");driver = nuovo FirefoxDriver ();}// Controlla se il parametro è passato come "chrome"else if (browser.equalsIgnoreCase ("chrome")) {// imposta il percorso di chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// crea un'istanza di chromedriver = nuovo ChromeDriver ();}// Controlla se il parametro è passato come "Edge"else if (browser.equalsIgnoreCase ("Edge")) {// imposta il percorso su Edge.exeSystem.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// crea l'istanza di Edgedriver = nuovo EdgeDriver ();}altro{// Se nessun browser ha superato, lancia un'eccezionelancia una nuova eccezione ("Il browser non è corretto");}driver.manage (). timeouts (). implicitlyWait (10, TimeUnit.SECONDS);}@Testpublic void testParameterWithXML () genera InterructedException {driver.get ("http://demo.guru99.com/V4/");// Trova il nome utenteWebElement userName = driver.findElement (By.name ("uid"));// Compila il nome utenteuserName.sendKeys ("guru99");// Trova la passwordPassword WebElement = driver.findElement (By.name ("password"));// Inserisci la passwordpassword.sendKeys ("guru99");}}
testing.xml
xml version = "1.0" encoding = "UTF-8"?>
NOTA: per eseguire il test, fare clic con il pulsante destro del mouse su testing.xml, selezionare Esegui come e fare clic su TestNG
Sommario
- Cross browser Testing è una tecnica per testare applicazioni web con diversi browser web.
- Il selenio può supportare diversi tipi di browser per l'automazione.
- Il selenio può essere integrato con TestNG per eseguire test multi browser.
- Dai parametri in testing.xml possiamo passare il nome del browser e, in un caso di test, possiamo creare di conseguenza il riferimento WebDriver.
Nota: il programma fornito è stato creato e testato su selenio 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 e Microsoft Edge 14.14393. Se i programmi restituiscono un errore, aggiorna il driver
Scarica i file di progetto Selenium per la demo in questo tutorial