Željene sposobnosti u Selenium webdriver

⚡ Pametni sažetak

Željene sposobnosti su Selenium klasa koja pohranjuje postavke preglednika, platforme i uređaja kao parove ključ-vrijednost, omogućujući jednom testnom paketu ciljanje mnogih okruženja u Selenium Grid, cloud grid i mobilna automatizacija.

  • 🔘 Definicija: Parovi ključ-vrijednost koji imenuju preglednik, verziju, platformu i putanju upravljačkog programa.
  • ☑️ Svrha: Jedan paket radi na različitim preglednicima, operativnim sustavima i mobilnim uređajima.
  • ✅ Metode: setCapability(), getCapability(), setBrowserName(), setVersion() i setPlatform() opisuju okruženje.
  • 🧪 Primjer: Vodič za Internet Explorer reproducira grešku putanje upravljačkog programa i njezino rješenje.
  • 🛠️ Moderni ekvivalent: Selenium 4 ima iste postavke u klasama opcija preglednika.

Željene sposobnosti u Selenium webdriver

Što su željene sposobnosti?

Željene sposobnosti su predmet u Selenium koristi se za postavljanje svojstava preglednika za izvođenje unakrsnog testiranja web aplikacija u pregledniku. Pohranjuje mogućnosti kao parove ključ-vrijednost i te se mogućnosti koriste za postavljanje svojstava preglednika kao što su naziv preglednika, verzija preglednika, putanja upravljačkog programa preglednika u sustavu itd. kako bi se odredilo ponašanje preglednika tijekom izvođenja.

  • Željena mogućnost također se može koristiti za konfiguriranje instance upravljačkog programa Selenium WebDriver.
  • Instancu upravljačkog programa možemo konfigurirati kao FirefoxDriver, ChromeDriver, InternetExplorerDriver korištenjem željenih mogućnosti.

Napomena o verziji: Selenium 4 zamjenjuje DesiredCapabilities klasama opcija preglednika — ChromeOptions, FirefoxOpcije, EdgeOptions, InternetExplorerOptions. Primjeri u nastavku zadržavaju izvornu sintaksu.

Zašto su nam potrebne željene sposobnosti?

Željene sposobnosti su potrebne jer svaki Ispitivanje scenarij treba izvršiti u određenom okruženju za testiranje. Okruženje za testiranje može biti web preglednik, Kontakt broj uređaj, mobilni emulator, mobilni simulator itd. Klasa željenih mogućnosti pomaže nam da kažemo WebDriveru koje okruženje ćemo koristiti u našem testnom skriptu.

Metoda setCapability klase DesiredCapabilities, koja je objašnjena u kasnijem dijelu ove stranice, može se koristiti u Selenium Mreža. Koristi se za izvođenje paralelno izvođenje na različitim konfiguracijama strojeva.

Npr.: Mreža (prikazana dolje).

Selenium Postavljanje mreže vođeno željenim sposobnostima

Koristi se za postavljanje svojstava preglednika (npr. Chrome, IE), naziva platforme (npr. Linux, Windows) koji se koriste tijekom izvršavanja Testni slučaj.

U slučaju mobilne automatizacije, budući da provodimo testove na različitim vrstama mobilnih uređaja, mobilnoj platformi (npr. iOS, Android) Verzija platforme (npr. 3.x,4.x in Android) može se postaviti.

Primjer emulatora u nastavku prikazuje platformu Android i verziju platforme IceCream Sandwich (4.x).

Mogućnosti mobilnog emulatora postavljene su na Android platforma i verzija 4.x

Željene mogućnosti su korisnije u slučajevima kao što su:

  • U automatizaciji mobilnih aplikacija, gdje se mogu postaviti svojstva preglednika i svojstva uređaja.
  • In Selenium Grid kada želimo pokrenuti testne slučajeve na drugom pregledniku s različitim operativnim sustavima i verzijama.

Vrste metoda željenih sposobnosti

Ovdje ćemo vidjeti različite metode željenih mogućnosti i kako koristiti jednu od njih, metodu 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() klase DesiredCapabilities može se koristiti za dobivanje sposobnosti koja se trenutno koristi u sustavu.

public java.lang.Object getCapability(java.lang.String capabilityName)

#8) metoda setCapability().

Metoda setCapability() klase Desired Capabilities koristi se za postavljanje svojstva testnog okruženja kao što su naziv uređaja, naziv i verzija OS-a, naziv i verzija preglednika, apsolutna putanja testirane aplikacije (.apk datoteka aplikacije Android aplikacija koja se testira), aktivnost aplikacije (u Android) i appPackage (u Java).

„metoda setCapability“ u Java ima sljedeće deklaracije:

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)

Postavite sposobnost Selenium Primjer

Razmotrimo primjer gdje želimo pokrenuti naš testni slučaj u pregledniku Internet Explorer kako bismo otvorili web stranicu www.gmail.com koristeći Selenium WebDriver.

Slijedi kod.

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();
 }
  
}

Sada pokrenite ovaj kod iz Eclipse i provjerite konzolu.

Izlaz:

Izbacit će sljedeću grešku kada se izvrši gornji kod. Greška se javlja jer put do upravljačkog programa preglednika (IE u gornjem slučaju) nije postavljen. Preglednik nije mogao locirati Selenium kodirati.

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.

Rješenje:

Rješenje za gornji problem dano je u odjeljku upozorenja same pogreške.

  1. Preuzmite samostalni poslužitelj Internet ExplorerDriver za 32-bitni ili 64-bitni.
  2. Spremite upravljački program na odgovarajuće mjesto u sustavu.
  3. Postavite putanju za upravljački program pomoću metode System.setProperty. Koristi se za postavljanje IE upravljačkog programa sa svojstvom webdriver. Pomaže u lociranju izvršne datoteke upravljačkog programa koja je pohranjena na sistemskoj lokaciji. (npr.: "C:\IEDriverLocation\IEDriver.exe")

Napomena o verziji: Selenium 4.6 i novije verzije automatski rješavaju problem s upravljačkim programom putem Selenium Manager, pa je System.setProperty opcionalan. Povijesni kod u nastavku nije promijenjen.

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 Objašnjenje:

U kodu iznad,

  • Naredbe za uvoz uvoze potrebne pakete za Selenium WebDriver, potrebni paketi za upravljački program za Internet Explorer i paketi za željene mogućnosti.
  • setCapability uzima različite mogućnosti kao ulazne varijable koje zatim koristi web upravljački program za pokretanje aplikacije u željenom okruženju.
  • setProperty se koristi za postavljanje putanje gdje se nalazi upravljački program. WebDriver zatim pronalazi potreban upravljački program.
  • Gmail Web-stranica se otvara u pregledniku Internet Explorer pomoću metode „get“.

Izlaz:

Testni slučaj u pregledniku Internet Explorer uspješno će se pokrenuti pomoću Selenium WebDriver.

Pitanja i odgovori

Ostaje zbog unatrag kompatibilnosti, ali je zapravo naslijeđen. Selenium 4 usmjerava sesije kroz objekte Options preglednika kompatibilne s W3C-om, tako da bi novi paketi trebali preferirati Options.

Chromeove opcije, FirefoxOptions, EdgeOptions, SafariOptions i InternetExplorerOptions. Svaki objekt prolazi izravno u odgovarajući konstruktor upravljačkog programa ili u RemoteWebDriver.

Standardni su samo browserName, browserVersion, platformName, acceptInsecureCerts, pageLoadStrategy, proxy, timeouts i unhandledPromptBehavior. Sve ostalo zahtijeva prefiks dobavljača, kao što je goog:chromeOptions.

Appium očekuje platformName, automationName, deviceName i aplikaciju ili appPackage plus appActivity, sve napisano s prefiksom appium:.

Br. Od Selenium 4.6, Selenium Voditelj automatski preuzima odgovarajući upravljački program. Postavite ga samo prilikom prikvačivanja određene verzije upravljačkog programa.

Dobavljači usluga u oblaku čitaju iste parove ključ-vrijednost kako bi dodijelili preglednik, operativni sustav i uređaj, plus dodatne podatke koje je prefiksirao dobavljač, kao što je naziv verzije.

Modeli umjetne inteligencije analiziraju analitiku proizvodnje i povijest nedostataka kako bi rangirali koji preglednici, verzije i kombinacije uređaja zaslužuju pokrivenost, smanjujući tako neupravljivu matricu.

Ko-pilot brzo izrađuje blokove mogućnosti, ali često predlaže zastarjelu sintaksu DesiredCapabilities naučenu iz starijeg koda, stoga pregledajte svaki generirani redak.

Sažmite ovu objavu uz: