Capabilitățile dorite în Selenium webdriver
⚡ Rezumat inteligent
Capacitățile dorite sunt o Selenium clasă care stochează setările browserului, platformei și dispozitivului ca perechi cheie-valoare, permițând unei singure suite de teste să vizeze mai multe medii din Selenium Grilă, grile în cloud și automatizare mobilă.

Ce sunt capabilitățile dorite?
Capacitățile dorite sunt o clasă din Selenium folosit pentru a seta proprietățile browserelor pentru a efectua testarea între browsere a aplicațiilor web. Stochează capabilitățile ca perechi cheie-valoare, iar aceste capabilități sunt utilizate pentru a seta proprietățile browserului, cum ar fi numele browserului, versiunea browserului, calea driverului browserului în sistem etc. pentru a determina comportamentul browserului în timpul rulării.
- Capacitatea dorită poate fi folosită și pentru a configura instanța driverului Selenium WebDriver.
- Putem configura instanța de driver cum ar fi FirefoxDriver, ChromeDriver, InternetExplorerDriver utilizând capabilitățile dorite.
Notă privind versiunea: Selenium 4 înlocuiește DesiredCapabilities cu clasele de opțiuni ale browserului — ChromeOptions, FirefoxOpțiuni, EdgeOptions, InternetExplorerOptions. Exemplele de mai jos păstrează sintaxa originală.
De ce avem nevoie de capabilitățile dorite?
Capacitățile dorite sunt necesare deoarece fiecare Testarea scenariul ar trebui să fie executat pe un anumit mediu de testare. Mediul de testare poate fi un browser web, Mobil dispozitiv, emulator mobil, simulator mobil etc. Clasa Desired Capabilities ne ajută să-i spunem WebDriver-ului ce mediu vom utiliza în scriptul nostru de testare.
Metoda setCapability a clasei DesiredCapabilities, care este explicată în partea ulterioară a acestei pagini, poate fi utilizată în Selenium Grilă. Este folosită pentru a efectua o executie paralela pe diferite configurații ale mașinii.
Ex: Grilă (prezentată mai jos).
Este folosit pentru a seta proprietățile browserului (Ex. Chrome, IE), Numele platformei (Ex. Linux, Windows) care sunt utilizate în timpul execuției Caz de testare.
În cazul automatizării mobile, pe măsură ce efectuăm testele pe diferite soiuri de dispozitive mobile, Platforma mobilă (ex. iOS, Android) Versiunea platformei (ex. 3.x, 4.x in Android) poate fi setat.
Exemplul de emulator de mai jos arată setul de platforme, care este Android, și setul de versiuni de platformă, care este IceCream Sandwich (4.x).
Capabilitățile dorite sunt mai utile în cazuri precum:
- În automatizarea aplicațiilor mobile, unde pot fi setate proprietățile browserului și proprietățile dispozitivului.
- In Selenium Grid atunci când dorim să rulăm cazurile de testare pe un browser diferit, cu sisteme de operare și versiuni diferite.
Tipuri de capabilități dorite Metode
Aici vom vedea diferitele metode Desired Capabilities și cum se utilizează una dintre ele, metoda setCapability().
#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) Metoda getCapability().
Metoda getCapability() a clasei DesiredCapabilities poate fi utilizată pentru a obține capacitatea care este utilizată în prezent în sistem.
public java.lang.Object getCapability(java.lang.String capabilityName)
#8) Metoda setCapability().
Metoda setCapability() a clasei Desired Capabilities este utilizată pentru a seta proprietățile unui mediu de testare, cum ar fi numele dispozitivului, numele și versiunea sistemului de operare, numele și versiunea browserului, calea absolută a aplicației testate (fișierul .apk al aplicației). Android aplicație în curs de testare), Activitatea aplicației (în Android) și appPackage (în Java).
„metoda setCapability” în Java are următoarele declarații:
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)
Setați Capacitatea în Selenium Exemplu
Să luăm în considerare un exemplu în care dorim să rulăm cazul nostru de testare pe browserul Internet Explorer pentru a deschide site-ul web www.gmail.com folosind Selenium WebDriver.
Urmează codul.
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(); } }
Acum rulați acest cod de la Eclipse și verifică consola.
ieșire:
Va genera următoarea eroare atunci când este executat codul de mai sus. Eroarea apare deoarece calea către driverul browserului (IE în cazul de mai sus) nu este setată. Browserul nu a putut fi localizat de Selenium cod.
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.
Soluţie:
Soluția pentru problema de mai sus este dată în secțiunea de avertizare a erorii în sine.
- Descărcați serverul autonom Internet ExplorerDriver pentru 32 de biți sau 64 de biți.
- Salvați driverul într-o locație adecvată din sistem.
- Setați calea pentru driver utilizând metoda System.setProperty. Aceasta este utilizată pentru a seta driverul IE cu proprietatea webdriver. Ajută la localizarea fișierului executabil al driverului stocat în locația sistemului. (Ex: „C:\IEDriverLocation\IEDriver.exe”)
Notă privind versiunea: Selenium 4.6 și versiunile ulterioare rezolvă automat driverul prin Selenium Manager, deci System.setProperty este opțional. Codul istoric de mai jos este neschimbat.
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(); } }
Code Explicaţie:
În codul de mai sus,
- Instrucțiunile de import importă pachetele necesare pentru Selenium WebDriver, pachetele necesare pentru driverul Internet Explorer și pachetele pentru funcționalitățile dorite.
- setCapability ia diferitele capabilități ca variabile de intrare care sunt apoi utilizate de driverul web pentru a lansa aplicația în mediul dorit.
- setProperty este utilizată pentru a seta calea în care se află driverul. WebDriver localizează apoi driverul necesar.
- Gmail site-ul web este deschis în browserul Internet Explorer utilizând metoda „get”.
ieșire:
Cazul de testare pe browserul Internet Explorer va rula cu succes utilizând Selenium WebDriver.


