Rīka padoms selēnā
Tooltip in Selēns ir teksts, kas parādās, kad peles peles kursoru uz kādu objektu uz mājas lapā. Objekts var būt saite, attēls, poga, teksta apgabals utt. Rīka padoma teksts bieži sniedz vairāk informācijas par objektu, uz kura lietotājs novieto peles kursoru.
Rīka padomi tradicionāli tika ieviesti kā elementa atribūts “nosaukums”. Šī atribūta vērtība tika parādīta kā rīka padoms peles kursora novietošanā. Šis ir statisks teksts, kas sniedz informāciju par elementu bez stila.
Tagad rīku padomu ieviešanai ir pieejami daudzi spraudņi. Papildu padomi ar stilu, renderēšanu, attēliem un saitēm tiek ieviesti, izmantojot JavaScript / JQuery spraudņus vai CSS rīku padomus.
- Lai piekļūtu vai pārbaudītu statiskos padomus, kas tiek ieviesti, izmantojot HTML "title" atribūtu, mēs varam vienkārši izmantot WebElement metodi getAttribute ("title"). Šīs metodes atgrieztā vērtība (kas ir rīka padoma teksts) tiek salīdzināta ar verifikācijai paredzamo vērtību.
- Lai izveidotu citus rīka padomu ieviešanas veidus, mums būs jāizmanto tīmekļa draivera sniegtā "Advanced User Interactions API", lai izveidotu peles kursora efektu un pēc tam izgūtu elementa padomu.
Īss apraksts par uzlaboto lietotāju mijiedarbības API:
Lietotāju uzlabotās mijiedarbības API nodrošina API lietotāja darbībām, piemēram, vilkšanai un nomešanai, virzīšanai uz vietas, vairāku izvēli, taustiņu nospiešanai un atlaišanai un citām darbībām, izmantojot tastatūru vai peli tīmekļa lapā.
Lai iegūtu sīkāku informāciju par API, varat atsaukties uz šo saiti.
https://seleniumhq.github.io/selenium/docs/api/java/index.html?org/openqa/selenium/interactions/Actions.html
Apskatīsim, kā izmantot pāris klases un metodes, kas mums būtu nepieciešamas, lai pārvietotu slīdņa elementu ar nobīdi.
1. solis . Lai izmantotu API, ir jāimportē šādas paketes / klases:
2. solis) Izveidojiet objekta klases “Darbības” un izveidojiet lietotāja darbību secību. Darbību klase tiek izmantota, lai izveidotu tādu lietotāju darbību secību kā moveToElement (), dragAndDrop () utt. API nodrošina dažādas ar lietotāju darbībām saistītas metodes.
Vadītāja objekts tiek nodrošināts kā konstruktora parametrs.
3. solis. Izveidojiet darbības objektu, izmantojot klases “Darbības” metodi build (). Izsauciet metodi perform (), lai izpildītu visas darbības, kuras izveidojis objekta Actions (šeit veidotājs).
Mēs esam redzējuši, kā izmantot dažas no lietotāja nodrošinātajām API darbības metodēm - clickAndHold (elements), moveByOffset (10,0), release (). API nodrošina daudzas šādas metodes.
Lai iegūtu sīkāku informāciju, skatiet saiti.
Kā iegūt rīka padoma tekstu selēna tīmekļa draiverī
Apskatīsim, kā vienkāršajā scenārijā piekļūt rīkiem un pārbaudīt to padomus
- 1. scenārijs: rīka padoms tiek ieviests, izmantojot atribūtu "title"
- 2. scenārijs: rīka padoms tiek ieviests, izmantojot spraudni jQuery.
1. scenārijs: HTML 'title' atribūts
Šajā gadījumā ņemsim vietnes piemēru - http://demo.guru99.com/test/social-icon.html.
Mēģināsim pārbaudīt ikonas “github” rīka padomu lapas augšējā labajā stūrī.
Lai to izdarītu, vispirms mēs atradīsim elementu un iegūsim tā atribūtu 'title' un pārbaudīsim ar paredzamo rīka padoma tekstu.
Tā kā mēs pieņemam, ka rīka padoms ir atribūtā "title", mēs pat neautomizējam peles kursora efektu, bet vienkārši iegūstam atribūta vērtību, izmantojot metodi "getAttribute ()".
Šeit ir kods
importēt org.openqa.selenium.By;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.chrome.ChromeDriver;importa org.openqa.selenium. *;public class ToolTip {public static void main (String [] args) {String baseUrl = "http://demo.guru99.com/test/social-icon.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver draiveris = jauns ChromeDriver ();draiveris.get (baseUrl);String várhatóTooltip = "Github";// Galvenes augšējā labajā stūrī atrodiet ikonu GithubWebElement github = driver.findElement (By.xpath (".//*[@ class = 'soc-ico show-round'] / a [4]"));// iegūstiet github ikonas atribūta "title" vērtībuString actualTooltip = github.getAttribute ("nosaukums");// Apstipriniet, ka rīka padoma vērtība ir paredzētaSystem.out.println ("Rīka padoma faktiskais nosaukums" + actualTooltip);ja (actualTooltip.equals (gaidāmsTooltip)) {System.out.println ("Pārbaudes gadījums izturēts");}vadītājs.slēgt ();}}
Koda skaidrojums
- Atrodiet WebElement, kas apzīmē ikonu "github".
- Iegūstiet tā atribūtu "title", izmantojot metodi getAttribute ().
- Apstipriniet vērtību pret paredzamo rīka padoma vērtību.
2. scenārijs: JQuery spraudnis:
Rīku ieviešanai ir pieejams daudz JQuery spraudņu, un katram no tiem ir nedaudz atšķirīga ieviešanas forma.
Daži spraudņi sagaida, ka HTML rīka padoms pastāvīgi atrodas blakus elementam, kuram ir piemērots rīka padoms, bet citi izveido dinamisku tagu “div”, kas parādās lidojuma laikā, virzot kursoru virs elementa.
Mūsu demonstrācijā ņemsim vērā rīku padomu ieviešanas veidu "jQuery Tools Tooltip".
Šeit vietrādī URL - http://demo.guru99.com/test/tooltip.html jūs varat redzēt demonstrāciju, kur peles kursorā virzoties virs “Lejupielādēt tūlīt”, mēs saņemam uzlabotu rīka padomu ar attēlu, norāžu fonu, tabulu un saite tajā, uz kuras var noklikšķināt.
Apskatot zemāk redzamo avotu, jūs varat redzēt, ka rīka padomu apzīmējošais div tags vienmēr atrodas blakus saites “Lejupielādēt tūlīt” tagam. Zemāk esošajā skripta tagā esošais kods kontrolē, kad tam ir nepieciešams uznirstošais logs.
Mēģināsim pārbaudīt tikai saites tekstu mūsu demonstrācijas rīka padomā šeit.
Vispirms mēs atradīsim WebElement, kas atbilst "Lejupielādēt tūlīt". Pēc tam, izmantojot mijiedarbības API, mēs pāriet uz elementu (peles kursors). Pēc tam mēs atradīsim WebElement, kas atbilst saitei parādītajā rīka padomā, un pārbaudīsim to, ņemot vērā gaidīto tekstu.
Šeit ir kods
importēt org.openqa.selenium.interactions.Action;importēt org.openqa.selenium.interactions.Actions;importēt org.openqa.selenium.By;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.chrome.ChromeDriver;importa org.openqa.selenium. *;publiskā klase JqueryToolTip {public static void main (String [] args) {String baseUrl = "http://demo.guru99.com/test/tooltip.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver draiveris = jauns ChromeDriver ();String várhatóTooltip = "Kas jauns 3.2!";draiveris.get (baseUrl);WebElement lejupielāde = driver.findElement (By.xpath (".//*[@ id = 'download_now']"));Darbību veidotājs = new Darbības (draiveris);builder.clickAndHold (). moveToElement (lejupielādēt);builder.moveToElement (lejupielādēt) .build (). perform ();WebElement toolTipElement = driver.findElement (By.xpath (".//*[@ class = 'box'] / div / a"));String actualTooltip = toolTipElement.getText ();System.out.println ("Rīka padoma faktiskais nosaukums" + actualTooltip);ja (actualTooltip.equals (gaidāmsTooltip)) {System.out.println ("Pārbaudes gadījums izturēts");}vadītājs.slēgt ();}}
Kods Paskaidrojums
- Atrodiet WebElement, kas atbilst elementam "lejupielādēt tūlīt", kuru mēs virzīsim ar peles kursoru.
- Izmantojot mijiedarbības API, virziet peles kursoru uz “Lejupielādēt tūlīt”.
- Pieņemot, ka tiek parādīts rīka padoms, atrodiet WebElement, kas atbilst saitei rīka padoma iekšienē, ti, tagam "a".
- Pārbaudiet saites rīka padoma tekstu, kas iegūts, izmantojot getText (), pret paredzamo vērtību, kuru esam saglabājuši mapē "expectedToolTip"
Kopsavilkums:
Šajā apmācībā jūs uzzinājāt, kā piekļūt rīku padomiem, izmantojot Selenium Web draiveri.
- Rīka padomi tiek īstenoti dažādos veidos -
- Pamata ieviešana ir balstīta uz HTML atribūtu "title". getAttribute (nosaukums) iegūst rīka padoma vērtību.
- Lai izveidotu peles kursora efektu, citiem rīku padomu ieviešanas veidiem, piemēram, JQuery, CSS, ir nepieciešami mijiedarbības API
- Uzlabota lietotāju mijiedarbības API
- Darbību klases moveToElement (elements) izmanto, lai peles kursoru novietotu uz elementa.
- Klases Build () metode Darbības būvē lietotāja darbību secību Action objektā.
- Klase Perform () veic visu lietotāja darbību secību vienlaikus.
- Lai pārbaudītu rīka padomu, mums vispirms ir jānovieto peles kursors ar elementu, pēc tam jāatrod elements, kas atbilst rīka galam, un jāiegūst tā teksts vai citas vērtības, lai pārbaudītu, ņemot vērā paredzamās vērtības.