Gewenste mogelijkheden
Gewenste mogelijkheden is een klasse in Selenium die wordt gebruikt om eigenschappen van browsers in te stellen voor het uitvoeren van cross-browser-testen van webapplicaties. Het slaat de mogelijkheden op als sleutel / waarde-paren en deze mogelijkheden worden gebruikt om browsereigenschappen in te stellen zoals browsernaam, browserversie, pad van browserdriver in het systeem, enz. Om het gedrag van de browser tijdens runtime te bepalen.
- De gewenste mogelijkheid kan ook worden gebruikt om de driverinstantie van Selenium WebDriver te configureren.
- We kunnen een driverinstantie zoals FirefoxDriver, ChromeDriver, InternetExplorerDriver configureren door de gewenste mogelijkheden te gebruiken.
In deze tutorial leer je-
- Wat is de gewenste capaciteit?
- Waarom hebben we de gewenste capaciteiten nodig?
- Verschillende soorten gewenste mogelijkheden-methoden
- Voorbeeld voor set-mogelijkheid-methode
Waarom hebben we de gewenste capaciteiten nodig?
Gewenste mogelijkheden zijn nodig omdat elk testscenario moet worden uitgevoerd op een specifieke testomgeving. De testomgeving kan een webbrowser zijn, een mobiel apparaat, een mobiele emulator, een mobiele simulator, enz. De klasse Desired Capabilities helpt ons om de webdriver te vertellen welke omgeving we gaan gebruiken in ons testscript.
De setCapability-methode van de DesiredCapabilities Class, die in het laatste deel van de tutorial wordt uitgelegd, kan worden gebruikt in Selenium Grid. Het wordt gebruikt om een parallelle uitvoering uit te voeren op verschillende machineconfiguraties.
Bijv .: Raster
Het wordt gebruikt om de browsereigenschappen (bijv. Chrome, IE) en platformnaam (bijv. Linux, Windows) in te stellen die worden gebruikt tijdens het uitvoeren van de testgevallen.
In het geval van mobiele automatisering, aangezien we de tests uitvoeren op verschillende soorten mobiele apparaten, kan de mobiele platformversie (bijv. IOS, Android) platformversie (bijv. 3.x, 4.x in Android) worden ingesteld.
Het bovenstaande emulatorvoorbeeld toont de platformset die Android is en de platformversieset die IceCream Sandwich (4.x) is.
Gewenste mogelijkheden zijn nuttiger in gevallen als:
- Bij automatisering van mobiele applicaties, waar de browsereigenschappen en de apparaateigenschappen kunnen worden ingesteld.
- In Selenium grid wanneer we de testcases op een andere browser willen draaien met verschillende besturingssystemen en versies.
Verschillende soorten gewenste mogelijkheden-methoden
Hier zullen we een ander type gewenste mogelijkheden-methoden zien en zien hoe we een van deze methoden " setCapability-methode" kunnen gebruiken.
- getBrowserName ()
openbare java.lang.String getBrowserName ()
- setBrowserName ()
openbare ongeldige setBrowserName (java.lang.String browsernaam)
- getVersion ()
openbare java.lang.String getVersion ()
- setVersion ()
public void setVersion (java.lang.String-versie)
- getPlatform ()
openbaar platform getPlatform ()
- setPlatform ()
openbaar platform setPlatform ()
- getCapability-methode
De methode getCapability van de klasse DesiredCapabilities kan worden gebruikt om de mogelijkheid te verkrijgen die momenteel in het systeem wordt gebruikt.
openbaar java.lang.Object getCapability (java.lang.String capabilityName)
- setCapability () - methode
De setCapability () -methode van de Desired Capabilities-klasse wordt gebruikt om de eigenschap van een testomgeving in te stellen, zoals apparaatnaam, OS-naam en -versie, browsernaam en -versie, absoluut pad van de app die wordt getest (het .apk-bestand van de Android-app getest), app-activiteit (in Android) en appPackage (in Java).
"setCapability method" in Java heeft de onderstaande verklaringen:
setCapability: public void setCapability (java.lang.String capacityName, booleaanse waarde)
setCapability: public void setCapability (java.lang.String capacityName, java.lang.String waarde)
setCapability: public void setCapability (java.lang.String capacityName, platformwaarde)
setCapability: public void setCapability (java.lang.String-sleutel, java.lang.Object-waarde)
Voorbeeld voor set-mogelijkheid-methode
Laten we een voorbeeld bekijken waarin we onze testcase in de internetverkenner-browser willen uitvoeren om de www.gmail.com-website te openen met Selenium Webdriver.
Hieronder volgt de code.
importeer org.openqa.selenium.WebDriver;importeer org.openqa.selenium.ie.InternetExplorerDriver;openbare klasse IEtestforDesiredCapabilities {public static void main (String [] args) {WebDriver-stuurprogramma = nieuwe InternetExplorerDriver ();driver.manage (). window (). maximaliseren ();driver.get ("http://gmail.com");driver.quit ();
Voer nu deze code uit vanuit Eclipse en bekijk de console.
Uitgang:
Het genereert de volgende fout wanneer bovenstaande code wordt uitgevoerd. De fout treedt op omdat het pad naar het browserstuurprogramma (IE in het bovenstaande geval) niet is ingesteld. De browser kon niet worden gevonden door de seleniumcode.
Het pad naar het uitvoerbare bestand van het stuurprogramma moet worden ingesteld door de systeemeigenschap webdriver.ie.driver; Zie http://code.google.com/p/selenium/wiki/InternetExplorerDriver voor meer informatie. De nieuwste versie kan worden gedownload vanaf http://code.google.com/p/selenium/downloads/list
11 december 2012 12:59:43 uur org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib
WAARSCHUWING: deze methode om de IE-driver te starten is verouderd en wordt verwijderd in selenium 2.26. Download de IEDriverServer.exe van http://code.google.com/p/selenium/downloads/list en zorg ervoor dat deze zich in uw PAD bevindt.
Oplossing :
De oplossing voor het bovenstaande probleem wordt gegeven in het waarschuwingsgedeelte van de fout zelf.
- Download de zelfstandige Internet Explorer Driver-server voor 32-bits of 64-bits.
- Sla de driver op een geschikte locatie in het systeem op.
- Stel het pad voor het stuurprogramma in met de methode System.setProperty .
- Het wordt gebruikt om de IE-driver in te stellen met de eigenschap webdriver. Het helpt om het uitvoerbare bestand van het stuurprogramma te vinden dat is opgeslagen op de systeemlocatie. (Voorbeeld: "C: \ IEDriverLocation \ IEDriver.exe")
importeer org.openqa.selenium.WebDriver;importeer org.openqa.selenium.ie.InternetExplorerDriver;importeer org.openqa.selenium.remote.DesiredCapabilities;openbare klasse IEtestforDesiredCapabilities {public static void main (String [] args) {// het wordt gebruikt om IE-mogelijkheden te definiërenDesiredCapabilities-mogelijkheden = DesiredCapabilities.internetExplorer ();capaciteiten.setCapability (CapabilityType.BROWSER_NAME, "IE");mogelijkheden.setCapability (InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, waar);System.setProperty ("webdriver.ie.driver", "C: \\ IEDriverServer.exe");// het wordt gebruikt om de IE-driver te initialiserenWebDriver-stuurprogramma = nieuwe InternetExplorerDriver (mogelijkheden);driver.manage (). window (). maximaliseren ();driver.get ("http://gmail.com");driver.quit ();
Code Verklaring:
In de bovenstaande code,
- De importinstructies zijn om de vereiste pakketten voor het selenium-webstuurprogramma, vereiste pakketten voor het Internet Explorer-stuurprogramma, pakketten voor de gewenste mogelijkheden te importeren.
- setCapability neemt de verschillende mogelijkheden als invoervariabelen die vervolgens door de webdriver worden gebruikt om de applicatie in de gewenste omgeving te starten.
- setProperty wordt gebruikt om het pad in te stellen waar de driver zich bevindt. Web Driver lokaliseert vervolgens het vereiste stuurprogramma.
- De Gmail-website wordt geopend in de Internet Explorer-browser door de "get" -methode te gebruiken.
Uitgang:
De testcase in de browser Internet Explorer zal met succes worden uitgevoerd met Selenium Webdriver.
Gevolgtrekking
De klasse Desired Capabilities helpt om een omgeving in te stellen om het gedrag van de browser / omgeving te bepalen waarop de test kan worden uitgevoerd.
Het helpt om onze applicatie te starten in de gewenste omgeving met de mogelijkheden die we willen gebruiken.
Dit artikel is bijgedragen door Krithika Ramkumar