Työkaluvinkki seleenissä
Työkaluvinkki seleeniä on teksti, joka näkyy, kun hiiri viedään kohteen verkkosivulla. Kohde voi olla linkki, kuva, painike, teksti-alue jne. Työkaluvihjeteksti antaa usein lisätietoja objektista, jonka päällä käyttäjä hiiren kohdistimen päällä on.
Työkaluvihjeet toteutettiin perinteisesti elementin otsikkoattribuuttina. Tämän attribuutin arvo näytettiin työkaluvihjeenä hiiren osoittimessa. Tämä on staattinen teksti, joka antaa tietoa elementistä ilman tyyliä.
Nyt työkaluvihjeiden käyttöönottoon on saatavilla useita laajennuksia. Edistyneitä työkaluvihjeitä, joissa on muotoilu, renderöinti, kuvat ja linkit, toteutetaan käyttämällä JavaScript / JQuery-laajennuksia tai CSS-työkaluvihjeitä.
- HTML "title" -attribuutilla toteutettujen staattisten työkaluvihjeiden käyttämiseen tai tarkistamiseen voimme yksinkertaisesti käyttää WebElementin getAttribute ("title") -menetelmää. Tämän menetelmän palautettua arvoa (joka on työkaluvihjeteksti) verrataan odotettavaan tarkistettavaan arvoon.
- Muissa työkaluvinkkitoteutusten muodoissa joudumme käyttämään Web-ohjaimen tarjoamaa "Advanced User Interactions API -sovellusliittymää" hiiren hiiren tehosteen luomiseen ja sitten elementin työkaluvihjeen noutamiseen.
Lyhyt kuvaus Advanced User Interactions -sovellusliittymästä:
Kehittyneiden käyttäjien vuorovaikutusten sovellusliittymä tarjoaa käyttöliittymän sellaisille käyttäjän toiminnoille kuin vetäminen ja pudottaminen, leijuttaminen, monivalinta, näppäinten painallus ja vapauttaminen sekä muut toiminnot verkkosivun näppäimistöllä tai hiirellä.
Voit viitata tähän linkkiin saadaksesi lisätietoja sovellusliittymästä.
https://seleniumhq.github.io/selenium/docs/api/java/index.html?org/openqa/selenium/interactions/Actions.html
Katsotaanpa tässä kuinka käyttää pari luokkaa ja menetelmää, jotka meidän on siirrettävä liukusäädintä siirtymällä.
Vaihe 1) API: n käyttämiseksi seuraavat paketit / luokat on tuotava:
Vaihe 2) Luo "Actions" -luokan objekti ja rakenna käyttäjän toimintojen järjestys. Actions-luokkaa käytetään rakentamaan käyttäjän toimintosekvenssi, kuten moveToElement (), dragAndDrop () jne. API: n avulla tarjotaan erilaisia käyttäjän toimintoihin liittyviä menetelmiä.
Ohjainobjekti annetaan parametrina sen rakentajalle.
Vaihe 3) Luo toimintaobjekti käyttämällä "Actions" -luokan build () -menetelmää. Kutsu perform () -menetelmää suorittaaksesi kaikki Actions-objektin rakentamat toiminnot (rakennustyökalu täällä).
Olemme oppineet käyttämään joitain API: n tarjoamia käyttäjän toimintamenetelmiä - clickAndHold (elementti), moveByOffset (10,0), release (). API tarjoaa monia tällaisia menetelmiä.
Katso lisätietoja linkistä.
Kuinka saada työkaluvinkiteksti Selenium Webdriver -sovellukseen
Katsotaanpa esimerkki työkaluvinkkien käyttämisestä ja tarkistamisesta yksinkertaisessa skenaariossa
- Skenaario 1: Työkaluvinkki toteutetaan käyttämällä "title" -määritettä
- Skenaario 2: Työkaluvinkki toteutetaan jQuery-laajennuksella.
Skenaario 1: HTML 'title' -attribuutti
Otetaan tässä tapauksessa esimerkkisivusto - http://demo.guru99.com/test/social-icon.html.
Yritämme tarkistaa sivun oikeassa yläkulmassa olevan "github" -kuvakkeen työkaluvihjeen.
Voit tehdä sen etsimällä ensin elementin ja saamalla sen 'title' -attribuutin ja vahvistamalla sen odotetulla työkaluvihjetekstillä.
Koska oletamme, että työkalun kärki on "title" -määritteessä, emme edes automatisoi hiiren osoittimen vaikutusta, vaan haemme vain attribuutin arvon "getAttribute ()" -menetelmällä.
Tässä on koodi
tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.chrome.ChromeDriver;tuonti org.openqa.selenium. *;julkisen luokan työkaluvinkki {public staattinen void main (String [] argumentoi) {Merkkijono baseUrl = "http://demo.guru99.com/test/social-icon.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver-ohjain = uusi ChromeDriver ();driver.get (baseUrl);Merkkijono odotettavissaTooltip = "Github";// Etsi Github-kuvake otsikon oikeasta yläkulmastaWebElement github = driver.findElement (By.xpath (".//*[@ class = 'soc-ico show-round'] / a [4]"));// hae github-kuvakkeen "title" -attribuutin arvoMerkkijono actualTooltip = github.getAttribute ("title");// Määritä työkaluvihjeen arvo odotusten mukaisestiSystem.out.println ("Työkaluvihjeen todellinen otsikko" + actualTooltip);jos (actualTooltip.equals (odotettavissaTooltip)) {System.out.println ("Testitapa hyväksytty");}kuljettaja.sulje ();}}
Koodin selitys
- Etsi WebElement, joka edustaa "github" -kuvaketta.
- Hanki sen "title" -attribuutti getAttribute () -menetelmällä.
- Määritä arvo odotettua työkaluvihjearvoa vastaan.
Skenaario 2: JQuery-laajennus:
Työkaluvinkkien toteuttamiseen on tarjolla paljon JQuery-laajennuksia, ja jokaisella on hieman erilainen toteutustapa.
Jotkut laajennukset odottavat, että HTML-työkaluvinkki on läsnä koko ajan sen elementin vieressä, jolle työkaluvihje on sovellettavissa, kun taas toiset luovat dynaamisen "div" -tunnisteen, joka näkyy lennossa samalla kun leijuu elementin päällä.
Tarkastellaan mielenosoituksessamme "jQuery Tools Tooltip" -tapaa työkaluvihjeiden toteuttamiseen.
Täällä URL-osoitteessa - http://demo.guru99.com/test/tooltip.html näet demon, jossa hiirellä vietessä "Lataa nyt" -kohdan päälle saamme edistyneen työkaluvihjeen, jossa on kuva, huomioteksti, taulukko ja sen sisällä oleva linkki, joka on napsautettavissa.
Tarkastellessasi alla olevaa lähdettä näet, että työkaluvihjettä edustava div-tunniste on aina "Lataa nyt" -linkin tagin vieressä. Mutta alla olevan komentotunnisteen sisällä oleva koodi hallitsee, milloin sen täytyy ponnahtaa esiin.
Yritetään tarkistaa vain linkin teksti vihjeessä esittelymme täällä.
Löydämme ensin WebElementin, joka vastaa "Lataa nyt" -linkkiä. Sitten siirrytään vuorovaikutussovellusliittymän avulla elementtiin (hiiren kohdistin). Seuraavaksi löydämme WebElementin, joka vastaa linkkiä näytetyn työkaluvihjeen sisällä, ja tarkistamme sen odotettua tekstiä vastaan.
Tässä on koodi
tuo org.openqa.selenium.interactions.Action;Tuo org.openqa.selenium.interactions.Actions;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.chrome.ChromeDriver;tuonti org.openqa.selenium. *;julkinen luokka JqueryToolTip {public staattinen void main (String [] argumentoi) {Merkkijono baseUrl = "http://demo.guru99.com/test/tooltip.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver-ohjain = uusi ChromeDriver ();String expectedTooltip = "Uutta versiossa 3.2";driver.get (baseUrl);WebElement lataa = driver.findElement (By.xpath (".//*[@ id = 'download_now']"));Actions builder = uusi Actions (ohjain);builder.clickAndHold (). moveToElement (lataa);builder.moveToElement (lataa) .build (). perform ();WebElement toolTipElement = driver.findElement (By.xpath (".//*[@ class = 'box'] / div / a"));Merkkijono actualTooltip = toolTipElement.getText ();System.out.println ("Työkaluvihjeen todellinen otsikko" + actualTooltip);jos (actualTooltip.equals (odotettavissaTooltip)) {System.out.println ("Testitapa hyväksytty");}kuljettaja.sulje ();}}
Koodin selitys
- Etsi WebElement, joka vastaa elementtiä "lataa nyt", jota vietämme hiirellä.
- Vuorovaikutus-sovellusliittymän avulla viet hiiren osoittimen "Lataa nyt" -kohdan päälle.
- Olettaen, että työkaluvinkki näytetään, etsi WebElement, joka vastaa työkaluvihjeen sisällä olevaa linkkiä eli "a" -tagia.
- Tarkista linkin työkaluvihjeteksti, joka on haettu getText (): n avulla odotettuun arvoon verrattuna, jonka olemme tallentaneet odotettuunToolTipiin.
Yhteenveto:
Tässä opetusohjelmassa olet oppinut käyttämään työkaluvihjeitä Selenium Web -ohjaimen avulla.
- Työkaluvihjeitä toteutetaan eri tavoin -
- Perustoteutus perustuu HTML: n "title" -attribuuttiin. getAttribute (title) saa työkaluvihjeen arvon.
- Muut työkaluvihjeiden käyttöönotot, kuten JQuery, CSS -työkaluvihjeet, edellyttävät Interaction API -sovellusta hiiren osoittimen vaikutuksen luomiseen
- Advanced Interaction API
- Toimintojen luokan moveToElement (elementti) käytetään hiiren osoittimen viemiseen elementin päälle.
- Build () -menetelmä Actions-luokka rakentaa käyttäjän toimintojen sekvenssin Action-objektiksi.
- Suorita () -luokka suorittaa kaikki käyttäjän toimintosarjat kerralla.
- Työkaluvihjeen tarkistamiseksi meidän on ensin vietävä hiiri hiiren osoittimen päälle, sitten löydettävä työkalun kärkeä vastaava elementti ja haettava sen teksti tai muut arvot tarkistettavaksi odotettujen arvojen suhteen.