A kívánt képességek Selenium webdriver
⚡ Okos összefoglaló
A kívánt képességek egy Selenium olyan osztály, amely kulcs-érték párokként tárolja a böngésző, a platform és az eszköz beállításait, lehetővé téve, hogy egyetlen tesztkészlet számos környezetet célozzon meg Selenium Grid, felhőalapú gridek és mobil automatizálás.
Mi a kívánt képességek?
A kívánt képességek egy osztály a Selenium a böngészők tulajdonságainak beállítására szolgál a webalkalmazások böngészők közötti teszteléséhez. A képességeket kulcs-érték párokként tárolja, és ezekkel a képességekkel állíthatja be a böngésző tulajdonságait, például a böngésző nevét, verzióját, a böngésző illesztőprogramjának elérési útját a rendszerben stb., hogy meghatározza a böngésző viselkedését futás közben.
- A kívánt képesség az illesztőprogram-példány konfigurálására is használható Selenium WebDriver.
- Konfigurálhatunk illesztőprogram-példányt FirefoxIllesztőprogram, ChromeDriver, InternetExplorerDriver a kívánt képességek használatával.
Verzió megjegyzés: Selenium 4 felülírja a DesiredCapabilities osztályokat a böngésző Options osztályaival — ChromeOptions, FirefoxOptions, EdgeOptions, InternetExplorerOptions. Az alábbi példák megtartják az eredeti szintaxist.
Miért van szükségünk a kívánt képességekre?
A kívánt képességekre azért van szükség, mert minden Tesztelés forgatókönyvet valamilyen meghatározott tesztelési környezetben kell végrehajtani. A tesztelési környezet lehet webböngésző, Mobil eszköz, mobil emulátor, mobil szimulátor stb. A Desired Capabilities osztály segít megmondani a WebDrivernek, hogy melyik környezetet fogjuk használni a tesztszkriptünkben.
A DesiredCapabilities osztály setCapability metódusa, amelyet a lap későbbi részében ismertetünk, a következőképpen használható: Selenium Rács. Egy párhuzamos végrehajtás különböző gépkonfigurációknál.
Pl.: Rács (lásd alább).
A böngésző tulajdonságainak beállítására szolgál (pl. Chrome, IE), platformnév (pl. Linux, Windows), amelyeket a végrehajtás során használnak Teszt eset.
A mobilautomatizálás esetében, mivel a teszteket különböző típusú mobileszközökön végezzük, a Mobil Platform (pl. iOS, Android) Platformverzió (pl. 3.x, 4.x hüvelyk Android) állítható be.
Az alábbi emulátor példa a platformkészletet, amely az Android, és a platformverziót, amely az IceCream Sandwich (4.x), mutatja.
A kívánt képességek hasznosabbak az alábbi esetekben:
- Mobilalkalmazás-automatizálásban, ahol a böngésző tulajdonságai és az eszköz tulajdonságai állíthatók be.
- In Selenium Grid-et használunk, ha a teszteseteket különböző böngészőkön, különböző operációs rendszerekkel és verziókkal szeretnénk futtatni.
A kívánt képességek módszerei
Itt megismerkedünk a különböző Desired Capabilities metódusokkal, és azzal, hogyan használhatjuk az egyiket, a setCapability() metódust.
#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() Method
A DesiredCapabilities osztály getCapability() metódusa használható a rendszerben jelenleg használt képesség lekérésére.
public java.lang.Object getCapability(java.lang.String capabilityName)
#8) setCapability() Method
A Desired Capabilities osztály setCapability() metódusa a tesztkörnyezet tulajdonságainak beállítására szolgál, mint például az eszköz neve, az operációs rendszer neve és verziója, a böngésző neve és verziója, a tesztelt alkalmazás abszolút elérési útja (a tesztelt alkalmazás .apk fájlja). Android alkalmazás tesztelés alatt), alkalmazástevékenység (in Android) és az alkalmazáscsomag (a Java).
„setCapability metódus” a Java az alábbi nyilatkozatokkal rendelkezik:
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)
Állítsa be a képességet Selenium Példa
Vegyünk egy példát, ahol a tesztesetünket az Internet Explorer böngészőben szeretnénk futtatni a www.gmail.com webhely megnyitásához a következő használatával: Selenium WebDriver.
Következő a kód.
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(); } }
Most futtassa ezt a kódot innen Eclipse és nézd meg a konzolt.
output:
A következő hibát fogja dobni, amikor a fenti kód végrehajtódik. A hiba azért történik, mert a böngésző illesztőprogramjának (a fenti esetben IE) elérési útja nincs beállítva. A böngésző nem található a(z) Selenium kód.
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.
Megoldás:
A fenti probléma megoldása a hiba figyelmeztető részében található.
- Töltse le az Internet ExplorerDriver önálló kiszolgálót 32 vagy 64 bites verzióra.
- Mentse az illesztőprogramot egy megfelelő helyre a rendszerben.
- Állítsa be az illesztőprogram elérési útját a System.setProperty metódussal. Ez az IE illesztőprogram webdriver tulajdonsággal történő beállítására szolgál. Segít megtalálni a rendszermappában tárolt illesztőprogram futtatható fájlját. (Pl.: „C:\IEDriverLocation\IEDriver.exe”)
Verzió megjegyzés: Selenium 4.6 és újabb verziók automatikusan megoldják az illesztőprogramot Selenium Manager, így a System.setProperty opcionális. Az alábbi korábbi kód változatlan.
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 Magyarázat:
A fenti kódban
- Az import utasítások importálják a szükséges csomagokat a Selenium WebDriver, az Internet Explorer illesztőprogramjához szükséges csomagok, valamint a kívánt funkciókhoz szükséges csomagok.
- A setCapability bemeneti változóként veszi a különféle képességeket, amelyeket aztán a web-illesztőprogram használ az alkalmazás elindításához a kívánt környezetben.
- A setProperty függvénnyel állíthatjuk be az illesztőprogram elérési útját. A WebDriver ezután megkeresi a szükséges illesztőprogramot.
- Gmail A weboldal az Internet Explorer böngészőben a „get” metódussal nyitható meg.
output:
Az Internet Explorer böngészőben a teszteset sikeresen lefut a következővel: Selenium WebDriver.


