Önskad kapacitet i Selenium webbdrivrutin
Vad är önskade förmågor?
Önskade förmågor är en klass i Selenium används för att ställa in webbläsares egenskaper för att utföra testning av webbapplikationer över webbläsare. Den lagrar funktionerna som nyckel-värdepar och dessa funktioner används för att ställa in webbläsaregenskaper som webbläsarnamn, webbläsarversion, sökväg till webbläsardrivrutin i systemet, etc. för att bestämma webbläsarens beteende vid körning.
- Önskad förmåga kan också användas för att konfigurera drivrutinsinstansen av Selenium WebDriver.
- Vi kan konfigurera drivrutinsinstanser som FirefoxDrivrutin, ChromeDriver, InternetExplorerDriver genom att använda önskade funktioner.
Varför behöver vi önskade förmågor?
Önskade förmågor behövs eftersom varje Testning scenario bör köras på 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 tala om för webbdrivrutinen vilken miljö vi ska använda i vårt testskript.
Smakämnen setCapability-metoden av klassen DesiredCapabilities, som förklaras i den senare delen av handledningen, kan användas i Selenium Rutnät. Den används för att utföra en parallell körning på olika maskinkonfigurationer.
Ex: Grid
Den används för att ställa in webbläsarens egenskaper (ex. Chrome, IE), plattformsnamn (ex. Linux, Windows) som används när testfallen körs.
När det gäller mobil automatisering, när vi utför testerna på olika varianter av mobila enheter, mobilplattformen (ex. iOS, Android) Plattformsversion (ex. 3.x,4.x in Android) kan ställas in.
Emulatorexemplet ovan visar plattformsuppsättningen som är android och plattformsversionsuppsättningen som är IceCream Sandwich (4.x).
Önskade funktioner är mer användbara i fall som:
- I mobilapplikationsautomation, där webbläsaregenskaperna och enhetsegenskaperna kan ställas in.
- In Selenium grid när vi vill köra testfallen på en annan webbläsare med olika operativsystem och versioner.
Typer av önskade kapacitetsmetoder
Här kommer vi att se en annan typ av önskade kapacitetsmetoder och se hur man använder en av dessa 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() Metod
Metoden getCapability() i klassen DesiredCapabilities kan användas för att få den förmåga som för närvarande används i systemet.
public java.lang.Object getCapability(java.lang.String capabilityName)
#8) setCapability() Metod
Smakämnen setCapability() metod av klassen Desired Capabilities används för att ställa in egenskapen för en testmiljö som enhetsnamn, OS-namn och version, webbläsarnamn och version, den absoluta sökvägen till appen som testas (apk-filen för Android app under test), appaktivitet (i Android) och appPackage(in Java).
"setCapability-metod" in Java har följande deklarationer:
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)
Ställ in kapacitet Selenium Exempelvis
Låt oss överväga ett exempel där vi vill köra vår Testfall i webbläsaren Internet Explorer för att öppna webbplatsen www.gmail.com med hjälp av Selenium Webdriver.
Följande är 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 den här koden från Eclipse och kolla in konsolen.
Produktion:
Det kommer att ge följande fel när ovanstående kod exekveras. Felet uppstår eftersom sökvägen till webbläsardrivrutinen (IE i ovanstående fall) inte är inställd. Webbläsaren kunde inte hittas 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.
Lösning:
Lösningen på ovanstående problem ges i varningssektionen för själva felet.
- Ladda ner Internet ExplorerDriver fristående server för 32bit eller 64bit.
- Spara föraren på lämplig plats i systemet.
- Ställ in sökvägen för föraren med hjälp av System.setProperty metod.
- Den används för att ställa in IE-drivrutinen med egenskapen webdriver. Det hjälper till att hitta den körbara drivrutinsfilen som är lagrad på systemplatsen. (Ex:”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(); } }
Kodförklaring:
I koden ovan,
- Importsatserna är att importera de nödvändiga paketen för selenwebbdrivrutinen, nödvändiga paket för Internet Explorer-drivrutinen, paket för de önskade funktionerna.
- setCapability tar de olika funktionerna som indatavariabler 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 drivrutinen finns. Web Driver hittar sedan den nödvändiga drivrutinen.
- Gmail-webbplatsen öppnas i webbläsaren Internet Explorer genom att använda "get"-metoden.
Produktion:
Testfallet på webbläsaren Internet Explorer kommer att köras framgångsrikt med Selenium Webdriver.
Slutsats
Klassen Desired Capabilities hjälper till att ställa in en miljö för att definiera beteendet hos webbläsaren/miljön där testet kan köras.
Det hjälper till att lansera vår applikation i den önskade miljön med de möjligheter som vi vill använda.