Ønskede evner i Selenium webdriver
Hva er ønskede evner?
Ønskede evner er en klasse i Selenium brukes til å angi egenskaper til nettlesere for å utføre testing på tvers av nettlesere av nettapplikasjoner. Den lagrer funksjonene som nøkkel-verdi-par, og disse egenskapene brukes til å angi nettleseregenskaper som nettlesernavn, nettleserversjon, banen til nettleserdriveren i systemet, etc. for å bestemme oppførselen til nettleseren under kjøretid.
- Ønsket evne kan også brukes til å konfigurere driverforekomsten av Selenium WebDriver.
- Vi kan konfigurere driverforekomst som FirefoxDriver, ChromeDriver, InternetExplorerDriver ved å bruke ønskede funksjoner.
Hvorfor trenger vi ønskede evner?
Ønskede evner er nødvendig fordi hver Testing scenario bør utføres på et bestemt testmiljø. Testmiljøet kan være en nettleser, Mobil enhet, mobilemulator, mobilsimulator osv. Desired Capabilities Class hjelper oss å fortelle webdriveren hvilket miljø vi skal bruke i testskriptet vårt.
De setCapability-metoden av DesiredCapabilities-klassen, som er forklart i den senere delen av opplæringen, kan brukes i Selenium Rutenett. Den brukes til å utføre en parallell kjøring på forskjellige maskinkonfigurasjoner.
Eks: Rutenett
Den brukes til å angi nettleseregenskaper (f.eks. Chrome, IE), plattformnavn (f.eks. Linux, Windows) som brukes mens testsakene utføres.
Når det gjelder mobilautomatisering, når vi utfører testene på forskjellige varianter av mobile enheter, mobilplattformen (f.eks. iOS, Android) Plattformversjon (eks. 3.x,4.x in Android) kan stilles inn.
Emulatoreksemplet ovenfor viser plattformsettet som er android og plattformversjonssettet som er IceCream Sandwich (4.x).
Ønskede evner er mer nyttige i tilfeller som:
- I mobilapplikasjonsautomatisering, hvor nettleseregenskapene og enhetsegenskapene kan angis.
- In Selenium grid når vi ønsker å kjøre testsakene på en annen nettleser med forskjellige operativsystemer og versjoner.
Typer av ønskede evner metoder
Her vil vi se en annen type ønskede kapasitetsmetoder og se hvordan du bruker en av disse metodene "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 brukes for å få muligheten som er i bruk i systemet.
public java.lang.Object getCapability(java.lang.String capabilityName)
#8) setCapability() Metode
De setCapability()-metoden av klassen Desired Capabilities brukes til å angi egenskapen til et testmiljø som enhetsnavn, OS-navn og -versjon, nettlesernavn og versjon, absolutt bane til appen som testes (.apk-filen til Android app under test), appaktivitet (i Android) og appPackage(in Java).
"setCapability-metoden" in Java har følgende 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)
Sett kapasitet inn Selenium Eksempel
La oss se på et eksempel hvor vi ønsker å drive vår Testsak på nettleseren Internet Explorer for å åpne www.gmail.com-nettstedet ved hjelp av 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(); } }
Kjør nå denne koden fra Eclipse og sjekk ut konsollen.
Utgang:
Det vil gi følgende feil når koden ovenfor kjøres. Feilen oppstår fordi banen til nettleserdriveren (IE i tilfellet ovenfor) ikke er angitt. Nettleseren kunne ikke lokaliseres av 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.
Oppløsning:
Løsningen på problemet ovenfor er gitt i advarselsdelen av selve feilen.
- Last ned Internet ExplorerDriver frittstående server for 32bit eller 64bit.
- Lagre driveren på et passende sted i systemet.
- Angi banen for sjåføren ved å bruke System.setProperty metoden.
- Den brukes til å sette IE-driveren med webdriver-egenskapen. Det hjelper å finne den kjørbare driverfilen som er lagret på systemplasseringen. (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,
- Importsetningene er å importere de nødvendige pakkene for selenwebdriveren, nødvendige pakker for Internet Explorer-driveren, pakker for de ønskede egenskapene.
- setCapability tar de ulike egenskapene som inputvariabler som deretter brukes av webdriveren for å starte applikasjonen i ønsket miljø.
- setProperty brukes til å angi banen der driveren befinner seg. Web Driver finner deretter den nødvendige driveren.
- Gmail-nettstedet åpnes i Internet Explorer-nettleseren ved å bruke "get"-metoden.
Utgang:
Testtilfellet på nettleseren Internet Explorer vil kjøre med suksess Selenium Webdriver.
konklusjonen
Desired Capabilities-klassen vil bidra til å sette et miljø for å definere oppførselen til nettleseren/miljøet som testen kan utføres på.
Det hjelper å lansere applikasjonen vår i ønsket miljø med egenskapene vi ønsker å bruke.