Önskade funktioner i Selen WebDriver

Innehållsförteckning:

Anonim

Önskade funktioner

Önskade funktioner är en klass i Selen som används för att ställa in webbläsares egenskaper för att utföra testning av webbläsare i flera webbläsare. Den lagrar funktionerna som nyckel-värdepar och dessa funktioner används för att ställa in webbläsaregenskaper som webbläsarens namn, webbläsarversion, sökvägen till webbläsardrivrutinen i systemet etc. för att bestämma webbläsarens beteende vid körningstid.

  • Önskad kapacitet kan också användas för att konfigurera drivrutinsinstansen för Selenium WebDriver.
  • Vi kan konfigurera drivrutinsinstans som FirefoxDriver, ChromeDriver, InternetExplorerDriver genom att använda önskade funktioner.

I den här handledningen lär du dig-

  • Vad är önskad kapacitet?
  • Varför behöver vi önskade funktioner?
  • Olika typer av önskade kapacitetsmetoder
  • Exempel på inställningsmetod

Varför behöver vi önskade funktioner?

Önskade funktioner behövs eftersom varje testscenario ska köras i någon specifik testmiljö. Testmiljön kan vara en webbläsare, mobil enhet, mobil emulator, mobil simulator etc. Desired Capabilities Class hjälper oss att berätta för webbdrivrutinen vilken miljö vi ska använda i vårt testskript.

Den setCapability metoden av DesiredCapabilities klass, vilket förklaras i den senare delen av tutorial, kan användas i Selenium Grid. Den används för att utföra en parallell körning på olika maskinkonfigurationer.

Ex: Rutnät

Den används för att ställa in webbläsaregenskaperna (Ex. Chrome, IE), Platform Name (Ex. Linux, Windows) som används vid testfallet.

När det gäller mobilautomation kan vi ställa in mobilplattformen (t.ex. iOS, Android) när vi utför testerna på olika varianter av mobila enheter (Ex. 3.x, 4.x i Android).

Ovanstående emulatorexempel visar plattformssatsen som är android och plattformsversionen som är IceCream Sandwich (4.x).

Önskade funktioner är mer användbara i fall som:

  • I mobilapplikationsautomatisering, där webbläsaregenskaperna och enhetsegenskaperna kan ställas in.
  • I Selenium-rutnät när vi vill köra testfall i en annan webbläsare med olika operativsystem och versioner.

Olika typer av önskade kapacitetsmetoder

Här kommer vi att se en annan typ av önskade funktionsmetoder och se hur man använder en av denna metod " setCapability Method".

  1. getBrowserName ()
offentlig java.lang.String getBrowserName ()
  1. setBrowserName ()
public void setBrowserName (java.lang.String browserName)
  1. getVersion ()
offentlig java.lang.Sträng getVersion ()
  1. setVersion ()
public void setVersion (java.lang.String version)
  1. getPlatform ()
offentlig plattform getPlatform ()
  1. setPlatform ()
public Platform setPlatform ()
  1. getCapability Method

GetCapability-metoden i DesiredCapabilities-klassen kan användas för att få den kapacitet som för närvarande används i systemet.

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

Den setCapability () -metoden av de önskade Capabilities klassen används för att ställa in egenskapen av en testmiljö som enhetsnamn, OS namn och version, webbläsare namn och versions, absoluta sökvägen av appen under test (den APK-fil av Android appen under test), appaktivitet (i Android) och appPackage (i Java).

"setCapability-metoden" i Java har deklarationerna nedan:

setCapability: public void setCapability (java.lang.String capabilityName, booleskt värde)
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)

Exempel på inställningsmetod

Låt oss överväga ett exempel där vi vill köra vårt testfall i webbläsaren Internet Explorer för att öppna www.gmail.com-webbplatsen med Selenium Webdriver.

Följande är koden.

importera org.openqa.selenium.WebDriver;importera org.openqa.selenium.ie.InternetExplorerDriver;offentlig klass IEtestforDesiredCapabilities {public static void main (String [] args) {WebDriver-drivrutin = ny InternetExplorerDriver ();driver.manage (). fönster (). maximera ();driver.get ("http://gmail.com");driver.quit ();}}

Kör nu den här koden från Eclipse och kolla in konsolen.

Produktion:

Det kommer att kasta följande fel när ovanstående kod körs. Felet uppstår eftersom sökvägen till webbläsardrivrutinen (IE i ovanstående fall) inte är inställd. Webbläsaren kunde inte lokaliseras med selenkoden.

Sökvägen till drivrutins körbar måste ställas in av systemegenskapen webdriver.ie.driver; tidigare information, se http://code.google.com/p/selenium/wiki/InternetExplorerDriver. Den senaste versionen kan laddas ner från http://code.google.com/p/selenium/downloads/list

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

VARNING: Denna metod för att starta IE-drivrutinen är utfasad och kommer att tas bort i selen 2.26. Ladda ner IEDriverServer.exe från http://code.google.com/p/selenium/downloads/list och se till att den finns i din PATH.

Lösning :

Lösningen för ovanstående problem ges i varningsavsnittet i själva felet.

  • Ladda ner Internet ExplorerDriver fristående server för 32bit eller 64bit.
  • Spara föraren på en lämplig plats i systemet.
  • Ange sökvägen för drivrutinen med metoden System.setProperty .
  • Den används för att ställa in IE-drivrutinen med egenskapen webdriver. Det hjälper till att hitta den drivrutins körbara filen som lagras på systemplatsen. (Ex: "C: \ IEDriverLocation \ IEDriver.exe")
importera org.openqa.selenium.WebDriver;importera org.openqa.selenium.ie.InternetExplorerDriver;importera org.openqa.selenium.remote.DesiredCapabilities;offentlig klass IEtestforDesiredCapabilities {public static void main (String [] args) {// det används för att definiera IE-kapacitetDesiredCapabilities-funktioner = DesiredCapabilities.internetExplorer ();skills.setCapability (CapabilityType.BROWSER_NAME, "IE");capabilities.setCapability (InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);System.setProperty ("webdriver.ie.driver", "C: \\ IEDriverServer.exe");// det används för att initiera IE-drivrutinenWebDriver-drivrutin = ny InternetExplorerDriver (funktioner);driver.manage (). fönster (). maximera ();driver.get ("http://gmail.com");driver.quit ();}}

Kodförklaring:

I koden ovan,

  • Importförklaringarna är att importera de paket som krävs för selen-webbdrivrutinen, paket som krävs för Internet Explorer-drivrutinen, paket för önskade funktioner.
  • setCapability tar de olika funktionerna som inmatningsvariabler som sedan används av webbdrivrutinen för att starta applikationen i önskad miljö.
  • setProperty används för att ställa in sökvägen där föraren finns. Web Driver hittar sedan den drivrutin som krävs.
  • Gmails webbplats öppnas i webbläsaren Internet Explorer med "get" -metoden.

Produktion:

Testfallet i Internet Explorer-webbläsaren körs framgångsrikt med Selenium Webdriver.

Slutsats

Klassen Önskade funktioner hjälper till att ställa in en miljö som definierar beteendet hos webbläsaren / miljön som testet kan utföras på.

Det hjälper till att starta vår applikation i önskad miljö med de funktioner som vi vill använda.

Den här artikeln har bidragit av Krithika Ramkumar