Halutut ominaisuudet sisään Selenium web-ajuri

⚡ Älykäs yhteenveto

Halutut ominaisuudet ovat Selenium luokka, joka tallentaa selaimen, alustan ja laitteen asetukset avain-arvopareina, jolloin yksi testipaketti voi kohdistaa testit useisiin ympäristöihin eri puolilla maailmaa. Selenium Grid, pilvigridit ja mobiiliautomaatio.

  • 🔘 Määritelmä: Avain-arvo-parit, jotka nimeävät selaimen, version, alustan ja ajuripolun.
  • ☑️ Tarkoitus: Yksi ohjelmistopaketti toimii eri selaimissa, käyttöjärjestelmissä ja mobiililaitteissa.
  • Menetelmät: setCapability(), getCapability(), setBrowserName(), setVersion() ja setPlatform() kuvaavat ympäristöä.
  • 🧪 Esimerkiksi: Internet Explorerin läpikäynti toistaa ohjainpolkuvirheen ja sen korjauksen.
  • 🛠️ Nykyaikainen vastine: Selenium 4 sisältää samat asetukset selaimen asetusluokissa.

Halutut ominaisuudet sisään Selenium web-ajuri

Mitä ovat halutut ominaisuudet?

Halutut ominaisuudet ovat luokkaa Selenium käytetään määrittämään selainten ominaisuuksia verkkosovellusten selaintestauksen suorittamiseksi. Se tallentaa ominaisuudet avain-arvo-pareina, ja näitä ominaisuuksia käytetään määrittämään selaimen ominaisuuksia, kuten selaimen nimi, selaimen versio, selainohjaimen polku järjestelmässä jne. selaimen toiminnan määrittämiseksi ajon aikana.

  • Haluttua ominaisuutta voidaan käyttää myös ohjaimen esiintymän määrittämiseen Selenium WebDriver.
  • Voimme määrittää ajurin esiintymän kuten FirefoxOhjain, ChromeDriver, InternetExplorerDriver käyttämällä haluttuja ominaisuuksia.

Versiohuomautus: Selenium 4 korvaa DesiredCapabilities-luokat selaimen asetusluokilla — ChromeOptions, FirefoxAsetukset, EdgeOptions, InternetExplorerOptions. Alla olevat esimerkit säilyttävät alkuperäisen syntaksin.

Miksi tarvitsemme haluttuja valmiuksia?

Haluttuja ominaisuuksia tarvitaan, koska jokainen Testaus skenaario tulisi suorittaa jossain tietyssä testausympäristössä. Testausympäristö voi olla verkkoselain, Puhelinnumero laite, mobiiliemulaattori, mobiilisimulaattori jne. Desired Capabilities -luokka auttaa meitä kertomaan WebDriverille, mitä ympäristöä aiomme käyttää testiskriptissämme.

DesiredCapabilities-luokan setCapability-metodia, joka selitetään tämän sivun loppuosassa, voidaan käyttää Selenium Ruudukko. Sitä käytetään suorittamaan rinnakkainen suoritus eri konekokoonpanoilla.

Esim. Ruudukko (alla).

Selenium Ruudukon kokoonpano haluttujen ominaisuuksien mukaan

Sitä käytetään asettamaan selaimen ominaisuudet (esim. Chrome, IE), alustan nimi (esim. Linux, Windows), joita käytetään suoritettaessa Testitapaus.

Mobiiliautomaation tapauksessa, kun suoritamme testejä erilaisilla mobiililaitteilla, Mobile Platform (esim. iOS, Android) Alustan versio (esim. 3.x, 4.x tuumaa Android) voidaan asettaa.

Alla oleva emulaattoriesimerkki näyttää alustan, joka on Android, ja alustaversion, joka on IceCream Sandwich (4.x).

Mobiiliemulaattorin ominaisuudet asetettu Android alusta ja versio 4.x

Halutut ominaisuudet ovat hyödyllisempiä seuraavissa tapauksissa:

  • Mobiilisovellusautomaatiossa, jossa voidaan asettaa selaimen ominaisuudet ja laitteen ominaisuudet.
  • In Selenium Ruudukkoa, kun haluamme ajaa testitapaukset eri selaimella, jossa on eri käyttöjärjestelmät ja versiot.

Haluttujen kykyjen tyypit menetelmät

Tässä näemme eri Desired Capabilities -metodit ja kuinka käyttää yhtä niistä, setCapability()-metodia.

#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() -menetelmä

DesiredCapabilities-luokan getCapability()-metodilla voidaan saada järjestelmässä tällä hetkellä käytössä oleva ominaisuus.

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

#8) setCapability() -menetelmä

Desired Capabilities -luokan setCapability()-metodia käytetään testiympäristön ominaisuuksien, kuten laitteen nimen, käyttöjärjestelmän nimen ja version, selaimen nimen ja version sekä testattavan sovelluksen absoluuttisen polun (sovelluksen .apk-tiedoston) asettamiseen. Android sovellus testattavana), sovellustoiminta (in Android) ja sovelluspaketti (sisään Java).

”setCapability-metodi” kohdassa Java on seuraavat ilmoitukset:

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)

Aseta ominaisuus sisään Selenium esimerkki

Tarkastellaan esimerkkiä, jossa haluamme suorittaa testitapauksemme Internet Explorer -selaimessa avataksemme www.gmail.com-sivuston käyttämällä Selenium WebDriver.

Seuraavassa on koodi.

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

Suorita nyt tämä koodi osoitteesta Eclipse ja katso konsoli.

lähtö:

Se heittää seuraavan virheen, kun yllä oleva koodi suoritetaan. Virhe johtuu siitä, että selainohjaimen polkua (yllä olevassa tapauksessa IE) ei ole asetettu. Selainta ei löydetty. Selenium koodi.

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.

Ratkaisu:

Ratkaisu yllä olevaan ongelmaan on annettu itse virheen varoitusosiossa.

  1. Lataa Internet ExplorerDriver-erillinen palvelin 32- tai 64-bittiselle.
  2. Tallenna kuljettaja sopivaan paikkaan järjestelmässä.
  3. Aseta ajurin polku System.setProperty-metodilla. Sitä käytetään IE-ajurin asettamiseen webdriver-ominaisuuden avulla. Se auttaa paikantamaan järjestelmäsijaintiin tallennetun ajurin suoritettavan tiedoston. (Esim: ”C:\IEDriverLocation\IEDriver.exe”)

Versiohuomautus: Selenium 4.6 ja uudemmat ratkaisevat ajurin automaattisesti Selenium Manager, joten System.setProperty on valinnainen. Alla oleva historiallinen koodi on pysynyt muuttumattomana.

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

Yllä olevassa koodissa

  • Tuontilausekkeet tuovat tarvittavat paketit funktiolle Selenium WebDriver, Internet Explorer -ajurin vaadittavat paketit ja haluttujen ominaisuuksien paketit.
  • setCapability käyttää erilaisia ​​ominaisuuksia syöttömuuttujina, joita web-ohjain sitten käyttää käynnistääkseen sovelluksen halutussa ympäristössä.
  • setProperty-ominaisuutta käytetään ajurin sijainnin polun asettamiseen. WebDriver etsii sitten tarvittavan ajurin.
  • Gmail Verkkosivusto avataan Internet Explorerissa käyttämällä "get"-metodia.

lähtö:

Internet Explorer -selaimen testitapaus toimii onnistuneesti käyttämällä Selenium WebDriver.

UKK

Se on edelleen taaksepäin yhteensopivuuden takaamiseksi, mutta on käytännössä perintö. Selenium 4 reitittää istuntoja W3C-yhteensopivien selaimen Options-objektien kautta, joten uusien ohjelmistopakettien tulisi suosia Options-objekteja.

Chrome-asetukset, FirefoxOptions, EdgeOptions, SafariOptions ja InternetExplorerOptions. Jokainen objekti siirtyy suoraan vastaavaan ajurikonstruktoriin tai RemoteWebDriveriin.

Vain browserName, browserVersion, platformName, acceptInsecureCerts, pageLoadStrategy, proxy, timeouts ja unhandledPromptBehavior ovat vakiomuotoisia. Kaikkeen muuhun tarvitaan toimittajan etuliite, kuten goog:chromeOptions.

Appium odottaa platformName-, automationName-, deviceName- ja joko app- tai appPackage-muuttujia sekä appActivity-muuttujia, jotka kaikki on kirjoitettu appium:-etuliitteellä.

Ei. Lähettäjä Selenium 4.6, Selenium Johtaja lataa vastaavan ajurin automaattisesti. Aseta se vain, kun kiinnität tietyn ajuriversion.

Pilvipalveluiden toimittajat lukevat samat avain-arvo-parit selaimen, käyttöjärjestelmän ja laitteen allokoimiseksi sekä toimittajan etuliitteitä, kuten koontiversion nimen.

Tekoäly mallintaa tuotantoanalytiikkaa ja vikahistoriaa arvioidakseen, mitkä selain-, versio- ja laiteyhdistelmät ansaitsevat huomiota, ja karsimalla siten hallitsematonta matriisia.

Lentoperämies luonnostelee ominaisuuslohkot nopeasti, mutta ehdottaa usein vanhentunutta DesiredCapabilities-syntaksia, joka on opittu vanhemmasta koodista, joten tarkista jokainen luotu rivi.

Tiivistä tämä viesti seuraavasti: