Capacità desiderate
Desired Capabilities è una classe in Selenium utilizzata per impostare le proprietà dei browser per eseguire test cross browser delle applicazioni web. Memorizza le funzionalità come coppie chiave-valore e queste funzionalità vengono utilizzate per impostare le proprietà del browser come il nome del browser, la versione del browser, il percorso del driver del browser nel sistema, ecc. Per determinare il comportamento del browser in fase di esecuzione.
- La capacità desiderata può essere utilizzata anche per configurare l'istanza del driver di Selenium WebDriver.
- Possiamo configurare istanze di driver come FirefoxDriver, ChromeDriver, InternetExplorerDriver utilizzando le funzionalità desiderate.
In questo tutorial imparerai-
- Qual è la capacità desiderata?
- Perché abbiamo bisogno delle capacità desiderate?
- Diversi tipi di metodi di capacità desiderate
- Esempio per il metodo di capacità impostata
Perché abbiamo bisogno delle capacità desiderate?
Le capacità desiderate sono necessarie perché ogni scenario di test dovrebbe essere eseguito su un ambiente di test specifico. L'ambiente di test può essere un browser web, dispositivo mobile, emulatore mobile, simulatore mobile, ecc. La classe Desired Capabilities ci aiuta a dire al webdriver, quale ambiente useremo nel nostro script di test.
Il metodo setCapability della classe DesiredCapabilities, spiegato nella parte successiva del tutorial, può essere utilizzato in Selenium Grid. Viene utilizzato per eseguire un'esecuzione parallela su diverse configurazioni di macchina.
Es: Grid
Viene utilizzato per impostare le proprietà del browser (Es. Chrome, IE), Nome piattaforma (Es. Linux, Windows) che vengono utilizzati durante l'esecuzione dei casi di test.
Nel caso dell'automazione mobile, poiché eseguiamo i test su diverse varietà di dispositivi mobili, è possibile impostare la versione della piattaforma Mobile Platform (es. IOS, Android) (es. 3.x, 4.x in Android).
L'esempio di emulatore sopra mostra il set di piattaforme che è Android e il set di versioni della piattaforma che è IceCream Sandwich (4.x).
Le capacità desiderate sono più utili in casi come:
- Nell'automazione delle applicazioni mobili, in cui è possibile impostare le proprietà del browser e le proprietà del dispositivo.
- Nella griglia Selenium quando vogliamo eseguire i casi di test su un browser diverso con diversi sistemi operativi e versioni.
Diversi tipi di metodi di capacità desiderate
Qui vedremo un diverso tipo di metodi di capacità desiderati e vedremo come usare uno di questo metodo "metodo setCapability".
- getBrowserName ()
public java.lang.String getBrowserName ()
- setBrowserName ()
public void setBrowserName (java.lang.String browserName)
- getVersion ()
public java.lang.String getVersion ()
- setVersion ()
public void setVersion (versione java.lang.String)
- getPlatform ()
piattaforma pubblica getPlatform ()
- setPlatform ()
public Platform setPlatform ()
- metodo getCapability
Il metodo getCapability della classe DesiredCapabilities può essere utilizzato per ottenere la funzionalità attualmente in uso nel sistema.
public java.lang.Object getCapability (java.lang.String capabilityName)
- metodo setCapability ()
Il metodo setCapability () della classe Desired Capabilities viene utilizzato per impostare le proprietà di un ambiente di test come il nome del dispositivo, il nome e la versione del sistema operativo, il nome e la versione del browser, il percorso assoluto dell'app sotto test (il file .apk dell'app Android in prova), Attività app (in Android) e appPackage (in Java).
"metodo setCapability" in Java ha le seguenti dichiarazioni:
setCapability: public void setCapability (java.lang.String capabilityName, valore booleano)
setCapability: public void setCapability (java.lang.String capabilityName, valore java.lang.String)
setCapability: public void setCapability (java.lang.String capabilityName, Platform value)
setCapability: public void setCapability (chiave java.lang.String, valore java.lang.Object)
Esempio per il metodo di capacità impostata
Consideriamo un esempio in cui vogliamo eseguire il nostro test case sul browser Internet Explorer per aprire il sito Web www.gmail.com utilizzando Selenium Webdriver.
Di seguito è riportato il codice.
import org.openqa.selenium.WebDriver;import org.openqa.selenium.ie.InternetExplorerDriver;classe pubblica IEtestforDesiredCapabilities {public static void main (String [] args) {Driver WebDriver = nuovo InternetExplorerDriver ();driver.manage (). window (). maxim ();driver.get ("http://gmail.com");driver.quit ();}}
Ora esegui questo codice da Eclipse e controlla la console.
Produzione:
Verrà generato il seguente errore quando viene eseguito il codice precedente. L'errore si verifica perché il percorso del driver del browser (IE nel caso precedente) non è impostato.Il browser non è stato individuato dal codice del selenio.
Il percorso dell'eseguibile del driver deve essere impostato dalla proprietà di sistema webdriver.ie.driver; per ulteriori informazioni, vedere http://code.google.com/p/selenium/wiki/InternetExplorerDriver. L'ultima versione può essere scaricata da http://code.google.com/p/selenium/downloads/list
11 dicembre 201212: 59: 43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib
ATTENZIONE: questo metodo di avvio del driver IE è deprecato e verrà rimosso in Selenium 2.26. Scarica IEDriverServer.exe da http://code.google.com/p/selenium/downloads/list e assicurati che sia nel tuo PERCORSO.
Soluzione :
La soluzione per il problema di cui sopra è fornita nella sezione di avvertenza dell'errore stesso.
- Scarica il server autonomo di Internet Explorer Driver per 32 bit o 64 bit.
- Salvare il driver in una posizione adatta nel sistema.
- Impostare il percorso per il driver utilizzando il metodo System.setProperty .
- Viene utilizzato per impostare il driver IE con la proprietà webdriver. Aiuta a individuare il file eseguibile del driver memorizzato nella posizione di sistema. (Es: "C: \ IEDriverLocation \ IEDriver.exe")
import org.openqa.selenium.WebDriver;import org.openqa.selenium.ie.InternetExplorerDriver;import org.openqa.selenium.remote.DesiredCapabilities;classe pubblica IEtestforDesiredCapabilities {public static void main (String [] args) {// viene utilizzato per definire la capacità di IECapacità DesiredCapabilities = DesiredCapabilities.internetExplorer ();capacità.setCapability (CapabilityType.BROWSER_NAME, "IE");capacità.setCapability (InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);System.setProperty ("webdriver.ie.driver", "C: \\ IEDriverServer.exe");// viene utilizzato per inizializzare il driver IEDriver WebDriver = nuovo InternetExplorerDriver (funzionalità);driver.manage (). window (). maxim ();driver.get ("http://gmail.com");driver.quit ();}}
Spiegazione del codice:
Nel codice sopra,
- Le istruzioni import servono per importare i pacchetti richiesti per il driver web selenium, i pacchetti richiesti per il driver Internet Explorer, i pacchetti per le funzionalità desiderate.
- setCapability accetta le varie funzionalità come variabili di input che vengono quindi utilizzate dal driver Web per avviare l'applicazione nell'ambiente desiderato.
- setProperty viene utilizzato per impostare il percorso in cui si trova il driver. Web Driver individua quindi il driver richiesto.
- Il sito web di Gmail viene aperto nel browser Internet Explorer utilizzando il metodo "get".
Produzione:
Il test case sul browser Internet Explorer verrà eseguito correttamente utilizzando Selenium Webdriver.
Conclusione
La classe Desired Capabilities aiuterà a impostare un ambiente per definire il comportamento del browser / ambiente su cui è possibile eseguire il test.
Aiuta a lanciare la nostra applicazione nell'ambiente desiderato con le capacità che desideriamo utilizzare.
Questo articolo è fornito da Krithika Ramkumar