Požadované schopnosti v Selenium webový ovladač
⚡ Chytré shrnutí
Požadované schopnosti jsou Selenium třída, která ukládá nastavení prohlížeče, platformy a zařízení jako páry klíč-hodnota, což umožňuje jedné testovací sadě cílit na mnoho prostředí napříč Selenium Grid, cloudové gridy a mobilní automatizace.
Co jsou požadované schopnosti?
Požadované schopnosti jsou předmětem Selenium slouží k nastavení vlastností prohlížečů pro provádění testování webových aplikací napříč prohlížeči. Ukládá schopnosti jako páry klíč-hodnota a tyto schopnosti se používají k nastavení vlastností prohlížeče, jako je název prohlížeče, verze prohlížeče, cesta ovladače prohlížeče v systému atd., aby se určilo chování prohlížeče za běhu.
- Požadovanou schopnost lze také použít ke konfiguraci instance ovladače Selenium WebDriver.
- Můžeme nakonfigurovat instanci ovladače jako FirefoxDriver, ChromeDriver, InternetExplorerDriver pomocí požadovaných funkcí.
Poznámka k verzi: Selenium 4 Nahrazuje DesiredCapabilities třídami prohlížečových možností — ChromeOptions, FirefoxMožnosti, EdgeOptions, InternetExplorerOptions. Níže uvedené příklady zachovávají původní syntaxi.
Proč potřebujeme požadované schopnosti?
Požadované schopnosti jsou potřebné, protože každý Testování scénář by měl být proveden v nějakém specifickém testovacím prostředí. Testovacím prostředím může být webový prohlížeč, Mobilní aplikace zařízení, mobilní emulátor, mobilní simulátor atd. Třída Desired Capabilities nám pomáhá sdělit WebDriveru, jaké prostředí budeme v našem testovacím skriptu používat.
Metoda setCapability třídy DesiredCapabilities, která je vysvětlena v další části této stránky, může být použita v Selenium Mřížka. Používá se k provedení paralelní provedení na různých konfiguracích strojů.
Např.: Mřížka (viz níže).
Slouží k nastavení vlastností prohlížeče (např. Chrome, IE), názvu platformy (např. Linux, Windows), které se používají při provádění Testovací případ.
V případě mobilní automatizace, protože testy provádíme na různých typech mobilních zařízení, mobilní platforma (např. iOS, Android) Verze platformy (např. 3.x, 4.x in Android) lze nastavit.
Níže uvedený příklad emulátoru ukazuje platformu Android a verzi platformy IceCream Sandwich (4.x).
Požadované schopnosti jsou užitečnější v případech, jako jsou:
- V automatizaci mobilních aplikací, kde lze nastavit vlastnosti prohlížeče a vlastnosti zařízení.
- In Selenium Grid, když chceme spustit testovací případy v jiném prohlížeči s různými operačními systémy a verzemi.
Typy metod požadovaných schopností
Zde si ukážeme různé metody Desired Capabilities a jak jednu z nich, metodu setCapability(), použít.
#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().
Metodu getCapability() třídy DesiredCapabilities lze použít k získání schopnosti, která se aktuálně v systému používá.
public java.lang.Object getCapability(java.lang.String capabilityName)
#8) Metoda setCapability().
Metoda setCapability() třídy Desired Capabilities se používá k nastavení vlastností testovacího prostředí, jako je název zařízení, název a verze operačního systému, název a verze prohlížeče, absolutní cesta k testované aplikaci (soubor .apk Android testovaná aplikace), Aktivita aplikace (v Android) a appPackage (v Java).
„Metoda setCapability“ v Java má níže uvedená prohlášení:
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)
Nastavte schopnost Selenium Příklad
Uvažujme příklad, kde chceme spustit náš testovací případ v prohlížeči Internet Explorer a otevřít webovou stránku www.gmail.com pomocí Selenium WebDriver.
Následuje 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(); } }
Nyní spusťte tento kód z Eclipse a podívejte se na konzoli.
Výstup:
Při spuštění výše uvedeného kódu se vyvolá následující chyba. K chybě dochází, protože cesta k ovladači prohlížeče (ve výše uvedeném případě IE) není nastavena. Prohlížeč nebyl nalezen programem... 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.
Řešení:
Řešení výše uvedeného problému je uvedeno v části varování samotné chyby.
- Stáhněte si samostatný server Internet ExplorerDriver pro 32bitovou nebo 64bitovou verzi.
- Uložte ovladač na vhodné místo v systému.
- Nastavte cestu k ovladači pomocí metody System.setProperty. Slouží k nastavení ovladače IE pomocí vlastnosti webdriver. Pomáhá najít spustitelný soubor ovladače, který je uložen v systémovém umístění. (Např.: „C:\IEDriverLocation\IEDriver.exe“)
Poznámka k verzi: Selenium 4.6 a novější automaticky vyřeší problém s ovladačem prostřednictvím Selenium Manager, takže System.setProperty je volitelný. Historický kód níže zůstal nezměněn.
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 Vysvětlení:
Ve výše uvedeném kódu
- Příkazy importu importují požadované balíčky pro Selenium WebDriver, požadované balíčky pro ovladač Internet Exploreru a balíčky pro požadované funkce.
- setCapability přebírá různé schopnosti jako vstupní proměnné, které pak webový ovladač používá ke spuštění aplikace v požadovaném prostředí.
- setProperty se používá k nastavení cesty, kde se nachází ovladač. WebDriver poté vyhledá požadovaný ovladač.
- Gmail Webová stránka se otevírá v prohlížeči Internet Explorer pomocí metody „get“.
Výstup:
Testovací případ v prohlížeči Internet Explorer bude úspěšně spuštěn s použitím Selenium WebDriver.


