Soovitud võimalused sisse Selenium Veebidraiver

⚡ Nutikas kokkuvõte

Soovitud võimed on Selenium klass, mis salvestab brauseri, platvormi ja seadme seaded võtme-väärtuspaaridena, võimaldades ühel testikomplektil sihtida paljusid keskkondi Selenium Võrk, pilvevõrgud ja mobiilne automatiseerimine.

  • 🔘 Määratlus: Võtme-väärtuse paarid, mis nimetavad brauseri, versiooni, platvormi ja draiveri tee.
  • ☑️ Eesmärk: Üks pakett töötab brauserites, operatsioonisüsteemides ja mobiilseadmetes.
  • Meetodid: Keskkonda kirjeldavad funktsioonid setCapability(), getCapability(), setBrowserName(), setVersion() ja setPlatform().
  • 🧪 Näide: Internet Exploreri läbivaatusjuhendis on esitatud draiveri teekonna viga ja selle parandus.
  • 🛠️ Kaasaegne vaste: Selenium 4 sisaldab brauseri valikute klassides samu sätteid.

Soovitud võimalused sisse Selenium Veebidraiver

Mis on soovitud võimed?

Soovitud võimed on klass Selenium kasutatakse brauserite atribuutide määramiseks veebirakenduste brauseriüleseks testimiseks. See salvestab võimalused võtme-väärtuste paaridena ja neid võimalusi kasutatakse brauseri atribuutide (nt brauseri nimi, brauseri versioon, brauseri draiveri tee süsteemis jne) määramiseks, et määrata brauseri käitumine käitusajal.

  • Soovitud võimalust saab kasutada ka draiveri eksemplari konfigureerimiseks Selenium Veebidraiver.
  • Saame konfigureerida draiveri eksemplari nagu FirefoxDraiver, ChromeDriver, InternetExplorerDriver, kasutades soovitud võimalusi.

Versiooni märkus: Selenium 4 asendab DesiredCapabilities klassid brauseri valikute klassidega — ChromeOptions, FirefoxValikud, EdgeOptions, InternetExplorerOptions. Allolevad näited säilitavad algse süntaksi.

Miks me vajame soovitud võimeid?

Soovitud võimed on vajalikud, sest iga Testimine stsenaarium tuleks teostada mõnes konkreetses testimiskeskkonnas. Testimiskeskkonnaks võib olla veebibrauser, mobiilne seade, mobiiliemulaator, mobiilisimulaator jne. Soovitud võimete klass aitab meil WebDriverile öelda, millist keskkonda me oma testiskriptis kasutama hakkame.

Selle lehe hilisemas osas selgitatud DesiredCapabilities klassi setCapability meetodit saab kasutada järgmistes valdkondades: Selenium Ruudustik. Seda kasutatakse a teostamiseks paralleelne täitmine erinevatel masinakonfiguratsioonidel.

Näiteks: Ruudustik (näidatud allpool).

Selenium Soovitud võimete poolt juhitud võrgu seadistamine

Seda kasutatakse brauseri atribuutide (nt Chrome, IE), platvormi nime (nt Linux, Windows), mida kasutatakse täitmise ajal Testjuhtum.

Mobiilse automatiseerimise puhul, kuna teostame teste erinevat tüüpi mobiilseadmetega, on mobiilne platvorm (nt iOS, Android) Platvormi versioon (nt 3.x, 4.x tolli Android) saab määrata.

Allolev emulaatori näide näitab platvormikomplekti, mis on Android, ja platvormiversioonikomplekti, mis on IceCream Sandwich (4.x).

Mobiilse emulaatori võimalused on seatud Android platvorm ja versioon 4.x

Soovitud võimalused on kasulikumad järgmistel juhtudel:

  • Mobiilirakenduste automatiseerimises, kus saab määrata brauseri atribuute ja seadme atribuute.
  • In Selenium Ruudustik, kui soovime testijuhtumeid käivitada erinevas brauseris, millel on erinevad operatsioonisüsteemid ja versioonid.

Soovitud võimete meetodite tüübid

Siin näeme erinevaid Desired Capabilities meetodeid ja seda, kuidas ühte neist, meetodit setCapability(), kasutada.

#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() meetod

DesiredCapabilities klassi meetodit getCapability() saab kasutada süsteemis praegu kasutusel oleva võime hankimiseks.

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

#8) setCapability() meetod

Desired Capabilities klassi meetodit setCapability() kasutatakse testimiskeskkonna omaduste, näiteks seadme nime, operatsioonisüsteemi nime ja versiooni, brauseri nime ja versiooni ning testitava rakenduse absoluutse tee (rakenduse .apk-fail) määramiseks. Android rakendus testimisel), rakenduse tegevus (in Android) ja rakenduste pakett (sisse Java).

„setCapability meetod” Java on järgmised deklaratsioonid:

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)

Seadistage võimekus Selenium Näide

Vaatleme näidet, kus tahame käivitada oma testversiooni Internet Exploreri brauseris, et avada veebisait www.gmail.com, kasutades Selenium Veebidraiver.

Järgmine on kood.

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

Nüüd käivitage see kood aadressilt Eclipse ja vaadake konsooli.

Väljund:

Ülaltoodud koodi käivitamisel kuvatakse järgmine tõrge. Tõrge ilmneb seetõttu, et brauseri draiveri (ülaltoodud juhul IE) tee pole määratud. Brauserit ei leitud. Selenium kood.

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.

Lahendus:

Ülaltoodud probleemi lahendus on toodud vea enda hoiatusosas.

  1. Laadige alla 32- või 64-bitine Internet ExplorerDriveri eraldiseisev server.
  2. Salvestage draiver süsteemis sobivasse kohta.
  3. Määrake draiveri tee meetodi System.setProperty abil. Seda kasutatakse IE draiveri määramiseks atribuudi webdriver abil. See aitab leida draiveri käivitatava faili, mis on salvestatud süsteemi asukohta. (Näiteks: „C:\IEDriverLocation\IEDriver.exe”)

Versiooni märkus: Selenium 4.6 ja uuemad versioonid lahendavad draiveri automaatselt läbi Selenium Manager, seega on System.setProperty valikuline. Allolev ajalooline kood on muutmata.

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 Selgitus:

Ülaltoodud koodis

  • Impordilaused impordivad vajalikud paketid Selenium WebDriver, Internet Exploreri draiveri jaoks vajalikud paketid ja soovitud funktsioonide paketid.
  • setCapability kasutab erinevaid võimalusi sisendmuutujatena, mida seejärel kasutab veebidraiver rakenduse käivitamiseks soovitud keskkonnas.
  • „setProperty“ abil määratakse draiveri asukoht. Seejärel leiab WebDriver vajaliku draiveri.
  • Gmail Veebisait avatakse Internet Exploreris meetodi „get” abil.

Väljund:

Internet Exploreri brauseris töötab test edukalt, kasutades Selenium Veebidraiver.

KKK

See jääb tagasiühilduvuse tagamiseks, kuid on sisuliselt pärand. Selenium 4 suunab seansse W3C-ga ühilduvate brauseri Options-objektide kaudu, seega peaksid uued tarkvarapaketid eelistama Options-objekte.

Chrome'i valikud, FirefoxOptions, EdgeOptions, SafariOptions ja InternetExplorerOptions. Iga objekt läheb otse vastavasse draiveri konstruktorisse või RemoteWebDriverisse.

Standardsed on ainult browserName, browserVersion, platformName, acceptInsecureCerts, pageLoadStrategy, proxy, timeouts ja unhandledPromptBehavior. Kõige muu jaoks on vaja tarnija eesliidet, näiteks goog:chromeOptions.

Appium ootab platformName'i, automationName'i, deviceName'i ja kas app'i või appPackage'i koos appActivity'ga, mis kõik on kirjutatud eesliitega appium:.

Ei. Alates Selenium 4.6 Selenium Juht laadib sobiva draiveri automaatselt alla. Määrake see ainult konkreetse draiveri versiooni kinnitamisel.

Pilveteenuste pakkujad loevad brauseri, operatsioonisüsteemi ja seadme määramiseks samu võtme-väärtuse paare ning lisaks pakkuja poolt määratud lisasid, näiteks ehituse nime.

Tehisintellekti mudelid kaevandavad tootmisanalüütikat ja defektide ajalugu, et järjestada, millised brauserid, versioonid ja seadmete kombinatsioonid väärivad kajastamist, kärpides hallatamatut maatriksit.

Copilot koostab võimete plokkide mustandid kiiresti, kuid soovitab sageli vanemast koodist õpitud aegunud DesiredCapabilities süntaksit, seega vaadake üle iga genereeritud rida.

Võta see postitus kokku järgmiselt: