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.

  • 🔘 Definice: Páry klíč-hodnota pojmenující prohlížeč, verzi, platformu a cestu k ovladači.
  • ☑️ Účel: Jedna sada běží napříč prohlížeči, operačními systémy a mobilními zařízeními.
  • (Tj. Metody: Funkce setCapability(), getCapability(), setBrowserName(), setVersion() a setPlatform() popisují prostředí.
  • 🧪 Příklad: Návod k použití Internet Exploreru reprodukuje chybu driver-path a její opravu.
  • 🛠️ Moderní ekvivalent: Selenium 4 obsahuje stejná nastavení ve třídách možností prohlížeče.

Požadované schopnosti v Selenium webový ovladač

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).

Selenium Nastavení sítě řízené požadovanými schopnostmi

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).

Funkce mobilního emulátoru nastavené na Android platforma a verze 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.

  1. Stáhněte si samostatný server Internet ExplorerDriver pro 32bitovou nebo 64bitovou verzi.
  2. Uložte ovladač na vhodné místo v systému.
  3. 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.

Nejčastější dotazy

Zůstává to kvůli zpětné kompatibilitě, ale v podstatě se jedná o starší verzi. Selenium 4 směruje relace přes objekty Options prohlížeče kompatibilní s W3C, takže nové sady by měly preferovat Options.

Možnosti Chromu, FirefoxOptions, EdgeOptions, SafariOptions a InternetExplorerOptions. Každý objekt přechází přímo do odpovídajícího konstruktoru ovladače nebo do RemoteWebDriver.

Standardní jsou pouze browserName, browserVersion, platformName, acceptInsecureCerts, pageLoadStrategy, proxy, timeouts a unhandledPromptBehavior. Vše ostatní vyžaduje prefix dodavatele, například goog:chromeOptions.

Appium očekává platformName, automationName, deviceName a buď app, nebo appPackage plus appActivity, vše zapsané s prefixem appium:.

Ne. Od Selenium 4.6, Selenium Manažer automaticky stáhne odpovídající ovladač. Nastavte ji pouze při připínání konkrétní sestavy ovladače.

Dodavatelé cloudových služeb čtou stejné páry klíč-hodnota pro alokaci prohlížeče, operačního systému a zařízení, plus doplňky s předponou dodavatele, jako je název sestavení.

Modely umělé inteligence těží z produkčních analytik a historie vad, aby seřadily, které kombinace prohlížečů, verzí a zařízení si zaslouží pozornost, a tím se zredukoval nezvládnutelný systém.

Druhý pilot rychle vytváří bloky schopností, ale často navrhuje zastaralou syntaxi DesiredCapabilities naučenou ze staršího kódu, proto si projděte každý vygenerovaný řádek.

Shrňte tento příspěvek takto: