Kaip patikrinti patarimą naudojant „Selenium WebDriver“

Turinys:

Anonim

Patarimas selene

Seleniumpatarimas yra tekstas, kuris pasirodo, kai pelė užveda pelės žymeklį ant objekto tinklalapyje. Objektas gali būti nuoroda, paveikslėlis, mygtukas, teksto sritis ir kt. Patarimų tekste dažnai pateikiama daugiau informacijos apie objektą, ant kurio vartotojas užveda pelės žymeklį.

Patarimai tradiciškai buvo įgyvendinami kaip elemento „pavadinimo“ atributas. Šio atributo vertė buvo rodoma kaip pelės žymeklio patarimas. Tai yra statiškas tekstas, kuriame pateikiama elemento informacija be stiliaus.

Dabar yra daugybė papildinių, skirtų „įrankių patarimams“ įgyvendinti. Išplėstiniai patarimai su stiliaus, atvaizdavimo, vaizdų ir nuorodų diegiami naudojant „JavaScript“ / „JQuery“ įskiepius arba naudojant CSS patarimus.

  • Norėdami pasiekti ar patikrinti statinius patarimus, kurie įgyvendinami naudojant HTML „title“ atributą, galime tiesiog naudoti „WebElement“ metodą getAttribute („title“). Grąžinta šio metodo vertė (tai yra patarimo tekstas) palyginama su laukiama tikrinimo verte.
  • Norėdami sukurti kitas patarimų diegimo formas, turėsime naudoti žiniatinklio tvarkyklės pateiktą „Advanced User Interactions API“, kad sukurtume pelės žymeklio efektą ir tada nuskaitytume elemento patarimą.

Trumpas pranešimas apie išplėstinę vartotojų sąveikų API:

Išplėstinė vartotojo sąveikos API suteikia API naudotojo veiksmams, pvz., Vilkite ir upuškinkite, užveskite pelės žymeklį, pažymėkite kelis mygtukus, paspauskite ir atleiskite klavišus bei atlikite kitus veiksmus naudodami klaviatūrą ar pelę tinklalapyje.

Šioje nuorodoje galite rasti daugiau informacijos apie API.

https://seleniumhq.github.io/selenium/docs/api/java/index.html?org/openqa/selenium/interactions/Actions.html

Pažiūrėkime, kaip naudoti keletą klasių ir metodų, kurių mums prireiks perkelti slankiklį.

1 žingsnis . Norint naudoti API, reikia importuoti šiuos paketus / klases:

2 žingsnis) Sukurkite „Veiksmų“ klasės objektą ir sukurkite vartotojo veiksmų seką. Veiksmų klasė naudojama kuriant vartotojo veiksmų seką, pvz., „MoveToElement ()“, „dragAndDrop“) ir kt. API teikia įvairius su vartotojo veiksmais susijusius metodus.

Tvarkyklės objektas pateikiamas kaip konstruktoriaus parametras.

3 žingsnis) Sukurkite veiksmo objektą naudodami „Veiksmų“ klasės „build“) metodą. Iškvieskite atlikimo () metodą, kad įvykdytumėte visus veiksmus, kuriuos sukūrė objektas „Veiksmai“ (čia kūrėjas).

Matėme, kaip naudoti kai kuriuos API teikiamus vartotojo veiksmų metodus - clickAndHold (elementas), moveByOffset (10,0), release (). API pateikia daug tokių metodų.

Daugiau informacijos rasite nuorodoje.

Kaip gauti patarimo tekstą „Selenium Webdriver“

Pažiūrėkime, kaip paprastame scenarijuje pasiekiama ir patikrinama įrankio patarimai

  • 1 scenarijus: patarimas įgyvendinamas naudojant „title“ atributą
  • 2 scenarijus: Patarimas įgyvendinamas naudojant „jQuery“ papildinį.

1 scenarijus: HTML 'title' atributas

Šiuo atveju paimkime svetainės pavyzdį - http://demo.guru99.com/test/social-icon.html.

Pabandysime patvirtinti piktogramos „github“, esančio puslapio viršuje, dešinėje, patarimą.

Norėdami tai padaryti, pirmiausia rasime elementą, gausime jo „title“ atributą ir patikrinsime naudodami numatomą įrankio patarimo tekstą.

Kadangi mes darome prielaidą, kad įrankio patarimas yra „title“ atribute, mes net ne automatizuojame pelės užvedimo efektą, o paprasčiausiai gauname atributo vertę naudodami metodą „getAttribute ()“.

Čia yra kodas

importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.chrome.ChromeDriver;importuoti org.openqa.selenium. *;viešosios klasės įrankio patarimas {public static void main (String [] argumentuoja) {Eilutė baseUrl = "http://demo.guru99.com/test/social-icon.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");„WebDriver“ tvarkyklė = nauja „ChromeDriver“ ();vairuotojas.get (baseUrl);String expectedTooltip = "Github";// Antraštės viršuje, dešinėje, raskite „Github“ piktogramą„WebElement“ github = driver.findElement (By.xpath (".//*[@ class = 'soc-ico show-round'] / a [4]"));// gaukite „github“ piktogramos „title“ atributo vertęEilutė actualTooltip = github.getAttribute ("title");// Tvirtinkite, kad patarimo vertė yra tokia, kokios tikėtasiSystem.out.println ("Faktinis įrankio patarimo pavadinimas" + actualTooltip);jei (actualTooltip.equals (numatomasTooltip)) {System.out.println („Bandymo atvejis perduotas“);}vairuotojas.uždaryti ();}}

Kodo paaiškinimas

  1. Suraskite „WebElement“, žymintį „github“ piktogramą.
  2. Gaukite „title“ atributą naudodami metodą getAttribute ().
  3. Įvertinkite vertę pagal laukiamą patarimo vertę.

2 scenarijus: „JQuery“ papildinys:

Yra daugybė „JQuery“ papildinių, skirtų įgyvendinti patarimus, ir kiekvienas jų turi šiek tiek kitokią įgyvendinimo formą.

Kai kurie papildiniai tikisi, kad patarimo HTML bus nuolat šalia elemento, kuriam taikomas patarimas, tuo tarpu kiti sukuria dinaminę „div“ žymą, kuri pasirodo skrendant, kai užvedama virš elemento.

Savo demonstracijoje apsvarstykime „jQuery Tools Tooltip“ patarimų diegimo būdą.

Čia URL - http://demo.guru99.com/test/tooltip.html galite pamatyti demonstracinę versiją, kurioje pelės žymeklis virš „Atsisiųsti dabar“ gauname išplėstinį patarimą su atvaizdu, figūrinės išnašos fonu, lentele ir jame esančią nuorodą, kurią galima spustelėti.

Pažvelgę ​​į toliau pateiktą šaltinį, galite pastebėti, kad patarimo „div“ žymelė visada yra šalia nuorodos „Atsisiųsti dabar“. Tačiau žemiau esančioje scenarijaus žymoje esantis kodas valdo, kada reikia iššokti.

Pabandykime patikrinti tik nuorodos tekstą mūsų demonstracijos patarime.

Pirmiausia rasime „WebElement“, atitinkantį „Atsisiųsti dabar“. Tada naudodami sąveikos API pereisime prie elemento (pelės užvedimas). Tada rasime „WebElement“, kuris atitinka nuorodą rodomame patarime, ir patikrinsime, ar laukiamas tekstas.

Čia yra kodas

importuoti org.openqa.selenium.interactions.Action;importuoti org.openqa.selenium.interactions.Actions;importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.chrome.ChromeDriver;importuoti org.openqa.selenium. *;viešoji klasė „JqueryToolTip“ {public static void main (String [] argumentuoja) {Eilutė baseUrl = "http://demo.guru99.com/test/tooltip.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");„WebDriver“ tvarkyklė = nauja „ChromeDriver“ ();String expectedTooltip = "Kas naujo 3.2 versijoje";vairuotojas.get (baseUrl);„WebElement“ atsisiuntimas = driver.findElement (By.xpath (".//*[@ id = 'download_now']"));Veiksmų kūrėjas = naujas Veiksmai (tvarkyklė);statybininkas.clickAndHold (). moveToElement (atsisiųsti);statybininkas.moveToElement (atsisiųsti) .build (). perform ();„WebElement“ įrankisTipElement = driver.findElement (By.xpath (".//*[@ class = 'box'] / div / a");Eilutė actualTooltip = toolTipElement.getText ();System.out.println ("Faktinis įrankio patarimo pavadinimas" + actualTooltip);jei (actualTooltip.equals (numatomasTooltip)) {System.out.println („Bandymo atvejis perduotas“);}vairuotojas.uždaryti ();}}

Kodo paaiškinimas

  1. Raskite „WebElement“, kuris atitinka elementą „atsisiųsti dabar“, kurį užvesime.
  2. Naudodami sąveikos API, užveskite pelės žymeklį ant „Atsisiųsti dabar“.
  3. Darant prielaidą, kad rodomas patarimas, suraskite „WebElement“, atitinkantį nuorodą, esančią patarime, ty „a“ ​​žymą.
  4. Patikrinkite nuorodos patarimo tekstą, gautą naudojant „getText“ (), ir laukiamą vertę, kurią išsaugojome skiltyje „expectedToolTip“

Santrauka:

Šioje pamokoje sužinojote, kaip pasiekti patarimus naudojant „Selenium“ žiniatinklio tvarkyklę.

  • Įrankių patarimai įgyvendinami įvairiai -
    • Pagrindinis diegimas pagrįstas HTML atributu „title“. getAttribute (title) gauna patarimo vertę.
    • Kitiems įrankio patarimų, pvz., „JQuery“, CSS patarimams, reikia sąveikos API, kad būtų sukurtas pelės žymėjimo efektas
  • Išplėstinė vartotojo sąveikos API
    • Veiklos klasės „moveToElement“ (elementas) naudojama norint užvesti pelės žymeklį ant elemento.
    • „Build“) „Action“ metodas sukuria vartotojo veiksmų seką į „Action“ objektą.
    • Veiklos klasė „Veiksmas“ () vykdo visas vartotojo veiksmų sekas vienu metu.
  • Norėdami patikrinti patarimą, pirmiausia turime užvesti pelės žymeklį ant elemento, tada surasti elementą, atitinkantį įrankio galiuką, ir gauti jo tekstą ar kitas reikšmes, kad patikrintume, ar laukiamos vertės.