Ønskede evner i Selenium webdriver
Hvad er ønskede kapaciteter?
Ønskede muligheder er en klasse i Selenium bruges til at indstille egenskaber for browsere til at udføre test på tværs af browsere af webapplikationer. Det gemmer funktionerne som nøgleværdi-par, og disse funktioner bruges til at indstille browseregenskaber som browsernavn, browserversion, browserdriversti i systemet osv. for at bestemme browserens opførsel under kørsel.
- Ønsket kapacitet kan også bruges til at konfigurere driverforekomsten af Selenium WebDriver.
- Vi kan konfigurere driverforekomst som FirefoxDriver, ChromeDriver, InternetExplorerDriver ved at bruge de ønskede funktioner.
Hvorfor har vi brug for ønskede kapaciteter?
Ønskede muligheder er nødvendige, fordi hver Test scenariet skal udføres på et bestemt testmiljø. Testmiljøet kan være en webbrowser, Mobil enhed, mobil emulator, mobil simulator osv. Desired Capabilities Class hjælper os med at fortælle webdriveren, hvilket miljø vi skal bruge i vores testscript.
setCapability metode af klassen DesiredCapabilities, som er forklaret i den senere del af selvstudiet, kan bruges i Selenium Gitter. Det bruges til at udføre en parallel udførelse på forskellige maskinkonfigurationer.
Eks: gitter
Det bruges til at indstille browseregenskaberne (f.eks. Chrome, IE), platformsnavn (f.eks. Linux, Windows), der bruges under udførelse af testcases.
I tilfælde af mobil automatisering, da vi udfører testene på forskellige varianter af mobile enheder, mobilplatformen (f.eks. iOS, Android) Platformversion (eks. 3.x,4.x in Android) kan indstilles.
Ovenstående emulatoreksempel viser platformsættet, som er android og platformsversionssættet, som er IceCream Sandwich (4.x).
Ønskede egenskaber er mere nyttige i tilfælde som:
- I mobilapplikationsautomatisering, hvor browseregenskaberne og enhedsegenskaberne kan indstilles.
- In Selenium grid, når vi ønsker at køre testcases på en anden browser med forskellige operativsystemer og versioner.
Typer af ønskede kapacitetsmetoder
Her vil vi se en anden type ønskede kapacitetsmetoder og se, hvordan man bruger en af disse metoder "setCapability Method”.
#1) getBrowserName()
public java.lang.String getBrowserName()
#2) setBrowserName()
public void setBrowserName(java.lang.String browserName)
#3) getVersion()
public java.lang.String getVersion()
#4) setVersion()
public void setVersion(java.lang.String version)
#5) getPlatform()
public Platform getPlatform()
#6) setPlatform()
public Platform setPlatform()
#7) getCapability() Metode
GetCapability()-metoden i klassen DesiredCapabilities kan bruges til at få den kapacitet, der er i brug i systemet i øjeblikket.
public java.lang.Object getCapability(java.lang.String capabilityName)
#8) setCapability() Metode
setCapability() metode af klassen Desired Capabilities bruges til at indstille egenskaben for et testmiljø, såsom enhedsnavn, OS-navn og -version, browsernavn og -version, den absolutte sti til den app, der testes (apk-filen til Android app under test), appaktivitet (i Android) og appPackage(in Java).
"setCapability metode" in Java har nedenstående erklæringer:
setCapability : public void setCapability(java.lang.String capabilityName,boolean value)
setCapability :public void setCapability(java.lang.String capabilityName,java.lang.String value)
setCapability :public void setCapability(java.lang.String capabilityName,Platform value)
setCapability :public void setCapability(java.lang.String key,java.lang.Object value)
Indstil kapacitet Selenium Eksempel
Lad os overveje et eksempel, hvor vi ønsker at køre vores Test sag på Internet Explorer-browseren for at åbne www.gmail.com-webstedet ved hjælp af Selenium Webdriver.
Følgende er koden.
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; public class IEtestforDesiredCapabilities { public static void main(String[] args) { WebDriver driver = new InternetExplorerDriver(); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
Kør nu denne kode fra Eclipse og tjek konsollen ud.
Output:
Det vil kaste følgende fejl, når ovenstående kode udføres. Fejlen opstår, fordi stien til browserdriveren (IE i ovenstående tilfælde) ikke er indstillet. Browseren kunne ikke findes af selenkoden.
The path to the driver executable must be set by the webdriver.ie.driver system property; formore information, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://code.google.com/p/selenium/downloads/list Dec 11, 201212:59:43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib WARNING: This method of starting the IE driver is deprecated and will be removed in selenium 2.26. Please download the IEDriverServer.exe from http://code.google.com/p/selenium/downloads/list and ensure that it is in your PATH.
Løsning:
Løsningen på ovenstående problem er givet i advarselsafsnittet for selve fejlen.
- Download den selvstændige Internet ExplorerDriver-server til 32-bit eller 64-bit.
- Gem driveren på et passende sted i systemet.
- Indstil stien til chaufføren ved hjælp af System.setProperty fremgangsmåde.
- Den bruges til at indstille IE-driveren med webdriver-egenskaben. Det hjælper med at finde den eksekverbare driverfil, der er gemt på systemplaceringen. (Eks: "C:\IEDriverLocation\IEDriver.exe")
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.remote.DesiredCapabilities; public class IEtestforDesiredCapabilities { public static void main(String[] args) { //it is used to define IE capability DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE"); capabilities.setCapability(InternetExplorerDriver. INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); System.setProperty("webdriver.ie.driver", "C:\\IEDriverServer.exe"); //it is used to initialize the IE driver WebDriver driver = new InternetExplorerDriver(capabilities); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
Kodeforklaring:
I koden ovenfor,
- Importerklæringerne er at importere de nødvendige pakker til selenwebdriveren, nødvendige pakker til Internet Explorer-driveren, pakker til de ønskede funktioner.
- setCapability tager de forskellige muligheder som inputvariabler, som derefter bruges af webdriveren til at starte applikationen i det ønskede miljø.
- setProperty bruges til at angive stien, hvor driveren er placeret. Web Driver finder derefter den nødvendige driver.
- Gmail-webstedet åbnes i Internet Explorer-browseren ved at bruge "get"-metoden.
Output:
Testcasen på Internet Explorer-browseren vil køre med succes vha Selenium Webdriver.
Konklusion
Klassen Desired Capabilities hjælper med at indstille et miljø til at definere adfærden for den browser/miljø, som testen kan udføres på.
Det hjælper med at starte vores applikation i det ønskede miljø med de muligheder, som vi ønsker at bruge.