Požadované schopnosti v Selenium webový ovladač
Co jsou požadované schopnosti?
Požadované schopnosti je třída v 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í.
Proč potřebujeme požadované schopnosti?
Požadované schopnosti jsou potřeba, 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 Class nám pomáhá sdělit webovému ovladači, jaké prostředí použijeme v našem testovacím skriptu.
Jedno metoda setCapability třídy DesiredCapabilities, která je vysvětlena v pozdější části tutoriálu, lze použít v Selenium Mřížka. Používá se k provádění paralelního provádění na různých konfiguracích stroje.
Příklad: Mřížka
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ích 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.
Výše uvedený příklad emulátoru ukazuje sadu platformy, kterou je Android, a sadu verzí platformy, kterou je 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 uvidíme jiný typ požadovaných metod schopností a uvidíme, jak použít jednu z těchto metod “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) 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().
Jedno metodu setCapability(). třídy Desired Capabilities se používá k nastavení vlastnosti 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 (in Java).
"Metoda setCapability" in 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
Podívejme se na příklad, kde chceme provozovat naše Testovací případ v prohlížeči Internet explorer otevřete 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 vyvolá následující chybu. 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č nelze najít pomocí kódu selenu.
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 pro ovladač pomocí System.setProperty metoda.
- Slouží k nastavení ovladače IE s vlastností webdriver. Pomáhá najít spustitelný soubor ovladače, který je uložen v systémovém umístění. (Příklad: “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(); } }
Vysvětlení kódu:
Ve výše uvedeném kódu
- Příkazy importu slouží k importu požadovaných balíčků pro webový ovladač selenium, požadovaných balíčků pro ovladač Internet Explorer, balíčků pro požadované schopnosti.
- 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č. Web Driver poté vyhledá požadovaný ovladač.
- Web Gmail se otevírá v prohlížeči Internet Explorer pomocí metody „get“.
Výstup:
Testovací případ prohlížeče Internet Explorer bude úspěšně spuštěn pomocí Selenium Webdriver.
Proč investovat do čističky vzduchu?
Třída Desired Capabilities pomůže nastavit prostředí pro definování chování prohlížeče/prostředí, ve kterém lze test provést.
Pomáhá spustit naši aplikaci v požadovaném prostředí s možnostmi, které chceme používat.