Ønskede muligheter i Selen WebDriver

Innholdsfortegnelse:

Anonim

Ønskede evner

Ønskede funksjoner er en klasse i Selen som brukes til å angi egenskapene til nettlesere for å utføre nettlesertesting av nettapplikasjoner. Den lagrer funksjonene som nøkkelverdipar, og disse funksjonene brukes til å angi nettleseregenskaper som nettlesernavn, nettleserversjon, bane til nettleserdriveren i systemet osv. For å bestemme atferden til nettleseren på kjøretid.

  • Ønsket evne kan også brukes til å konfigurere driverforekomsten av Selenium WebDriver.
  • Vi kan konfigurere driverforekomster som FirefoxDriver, ChromeDriver, InternetExplorerDriver ved å bruke ønskede funksjoner.

I denne veiledningen vil du lære-

  • Hva er ønsket kapasitet?
  • Hvorfor trenger vi ønsket kapasitet?
  • Forskjellige typer ønsket kapasitetsmetoder
  • Eksempel på metode for angitt kapasitet

Hvorfor trenger vi ønsket kapasitet?

Ønskede funksjoner er nødvendige fordi hvert testscenario skal utføres på et bestemt testmiljø. Testmiljøet kan være en nettleser, mobil enhet, mobil emulator, mobil simulator, etc. Desired Capabilities Class hjelper oss med å fortelle nettdriveren, hvilket miljø vi skal bruke i testskriptet vårt.

Den setCapability metode for DesiredCapabilities klasse, som er forklart i den senere delen av opplæringen, kan brukes i selen nettet. Den brukes til å utføre en parallell kjøring på forskjellige maskinkonfigurasjoner.

Eks: Rutenett

Den brukes til å angi nettleseregenskapene (f.eks. Chrome, IE), plattformnavn (f.eks. Linux, Windows) som brukes når testsakene utføres.

Når det gjelder mobilautomatisering, når vi utfører testene på forskjellige varianter av mobile enheter, kan mobilplattformen (f.eks. IOS, Android) Plattformversjon (Eks. 3.x, 4.x i Android) stilles inn.

Ovennevnte emulatoreksempel viser plattformsett som er android og plattformversjonssett som er IceCream Sandwich (4.x).

Ønskede muligheter er mer nyttige i tilfeller som:

  • I mobilapplikasjonsautomatisering, der nettleseregenskapene og enhetsegenskapene kan angis.
  • I Selenium grid når vi vil kjøre testtilfellene på en annen nettleser med forskjellige operativsystemer og versjoner.

Forskjellige typer ønsket kapasitetsmetoder

Her vil vi se en annen type ønskede funksjonsmetoder og se hvordan du bruker en av denne metoden " setCapability Method".

  1. getBrowserName ()
offentlig java.lang.String getBrowserName ()
  1. setBrowserName ()
public void setBrowserName (java.lang.String browserName)
  1. getVersion ()
offentlig java.lang.Streng getVersion ()
  1. setVersion ()
public void setVersion (java.lang.String versjon)
  1. getPlatform ()
offentlig plattform getPlatform ()
  1. setPlatform ()
offentlig plattform setPlatform ()
  1. getCapability Method

GetCapability-metoden i DesiredCapabilities-klassen kan brukes til å få den funksjonen som er i bruk for tiden i systemet.

offentlig java.lang.Object getCapability (java.lang.String capabilityName)
  1. setCapability () Metode

Den setCapability () -metoden av de ønskede muligheter klassen brukes til å sette eiendommen i et testmiljø som enhetsnavn, OS navn og versjon, nettleser navn og versjon, absolutte banen til programmet under test (APK-fil av Android-app under test), appaktivitet (i Android) og appPackage (i Java).

"setCapability method" i Java har deklarasjonene nedenfor:

setCapability: public void setCapability (java.lang.String capabilityName, boolsk verdi)
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)

Eksempel på metode for angitt kapasitet

La oss se på et eksempel der vi ønsker å kjøre vår Test Case i Internet Explorer-nettleseren for å åpne www.gmail.com-nettstedet ved hjelp av Selenium Webdriver.

Følgende er koden.

importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.ie.InternetExplorerDriver;offentlig klasse IEtestforDesiredCapabilities {public static void main (String [] args) {WebDriver driver = ny InternetExplorerDriver ();driver.manage (). vindu (). maksimere ();driver.get ("http://gmail.com");driver.quit ();}}

Kjør nå denne koden fra Eclipse og sjekk ut konsollen.

Produksjon:

Det vil kaste følgende feil når ovennevnte kode kjøres. Feilen oppstår fordi banen til nettleserdriveren (IE i ovennevnte tilfelle) ikke er angitt. Nettleseren kunne ikke bli lokalisert av selenkoden.

Banen til kjørbar driver må angis av systemegenskapen webdriver.ie.driver; tidligere informasjon, se http://code.google.com/p/selenium/wiki/InternetExplorerDriver. Den siste versjonen kan lastes ned fra http://code.google.com/p/selenium/downloads/list

11. desember 201212: 59: 43 org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib

ADVARSEL: Denne metoden for å starte IE-driveren er utfaset og vil bli fjernet i selen 2.26. Last ned IEDriverServer.exe fra http://code.google.com/p/selenium/downloads/list og sørg for at den er i BANEN din.

Løsning :

Løsningen for problemet ovenfor er gitt i advarselsdelen av selve feilen.

  • Last ned Internet ExplorerDriver frittstående server for 32bit eller 64bit.
  • Lagre sjåføren på et passende sted i systemet.
  • Angi stien til driveren ved hjelp av System.setProperty- metoden.
  • Den brukes til å angi IE-driveren med webdriver-egenskapen. Det hjelper med å finne den kjørbare filen som er lagret på systemplasseringen. (Eks: "C: \ IEDriverLocation \ IEDriver.exe")
importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.ie.InternetExplorerDriver;importer org.openqa.selenium.remote.DesiredCapabilities;offentlig klasse IEtestforDesiredCapabilities {public static void main (String [] args) {// det brukes til å definere IE-evnerDesiredCapabilities-muligheter = DesiredCapabilities.internetExplorer ();skills.setCapability (CapabilityType.BROWSER_NAME, "IE");capabilities.setCapability (InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, sant);System.setProperty ("webdriver.ie.driver", "C: \\ IEDriverServer.exe");// det brukes til å initialisere IE-driverenWebDriver driver = ny InternetExplorerDriver (evner);driver.manage (). vindu (). maksimere ();driver.get ("http://gmail.com");driver.quit ();}}

Kode Forklaring:

I koden ovenfor,

  • Importoppgavene er å importere de nødvendige pakkene for selen-nettdriveren, nødvendige pakker for Internet Explorer-driveren, pakker for de ønskede funksjonene.
  • setCapability tar de forskjellige funksjonene som inputvariabler som deretter brukes av nettdriveren til å starte applikasjonen i ønsket miljø.
  • setProperty brukes til å angi stien der driveren befinner seg. Web Driver finner deretter den nødvendige driveren.
  • Gmail-nettstedet åpnes i Internet Explorer-nettleseren ved å bruke "get" -metoden.

Produksjon:

Test saken i Internet explorer nettleseren vil kjøre med Selenium Webdriver.

Konklusjon

Desired Capabilities-klassen vil bidra til å sette et miljø som definerer oppførselen til nettleseren / miljøet som testen kan utføres på.

Det hjelper å starte applikasjonen vår i ønsket miljø med de funksjonene vi ønsker å bruke.

Denne artikkelen er bidratt av Krithika Ramkumar