Opis u selenu
Tooltip u selena je tekst koji se pojavljuje kada se miša iznad objekta na web stranici. Objekt može biti veza, slika, gumb, područje teksta itd. Tekst opisa često daje više informacija o objektu na kojem korisnik lebdi iznad kursora miša.
Opisi alata tradicionalno su implementirani kao atribut 'title' elementa. Vrijednost ovog atributa prikazana je kao opis alata pri zadržavanju pokazivača miša. Ovo je statični tekst koji daje informacije o elementu bez stila.
Sada je dostupno mnogo dodataka za provedbu 'alata'. Napredni opisi sa stilom, prikazivanjem, slikama i vezama implementirani su pomoću JavaScript / JQuery dodataka ili pomoću CSS-a.
- Za pristup ili provjeru statičkih opisa alata koji su implementirani pomoću HTML atributa "title", možemo jednostavno koristiti metodu getAttribute ("title") WebElementa. Vraćena vrijednost ove metode (koja je tekst opisa) uspoređuje se s očekivanom vrijednošću za provjeru.
- Za ostale oblike implementacija opisa, morat ćemo upotrijebiti "API za napredne korisničke interakcije" koji pruža web-upravljački program da bismo stvorili efekt lebdenja miša, a zatim dohvatili opis za element.
Kratki opis API-ja za napredne korisničke interakcije:
API za napredne interakcije korisnika pruža API za korisničke radnje poput povlačenja i ispuštanja, lebdenja, višestrukog odabira, pritiskanja i otpuštanja tipki i drugih radnji pomoću tipkovnice ili miša na web stranici.
Ovu vezu možete potražiti za više detalja o API-ju.
https://seleniumhq.github.io/selenium/docs/api/java/index.html?org/openqa/selenium/interactions/Actions.html
Ovdje ćemo vidjeti kako koristiti nekoliko klasa i metoda koje bi nam trebale za pomicanje elementa klizača za pomak.
Korak 1) Da biste koristili API, potrebno je uvesti sljedeće pakete / klase:
Korak 2) Stvorite objekt klase "Akcije" i izradite Redoslijed korisničkih radnji. Klasa Akcije koristi se za izgradnju slijeda korisničkih radnji poput moveToElement (), dragAndDrop () itd. API nudi različite metode povezane s korisničkim radnjama.
Objekt pokretačkog programa daje se kao parametar svom konstruktoru.
Korak 3) Stvorite objekt radnje pomoću metode build () klase "Action". Pozovite metodu perform () za izvršavanje svih radnji koje je izgradio objekt Actions (ovdje je graditelj).
Vidjeli smo kako se koriste neke metode korisničkih radnji koje pruža API - clickAndHold (element), moveByOffset (10,0), release (). API pruža mnoge takve metode.
Više pojedinosti potražite na poveznici.
Kako dobiti tekst s opisom u programu Selenium Webdriver
Pogledajmo demonstraciju pristupa i provjere savjeta alata u jednostavnom scenariju
- Scenarij 1: Opis se provodi pomoću atributa "title"
- Scenarij 2: Opis se provodi pomoću dodatka jQuery.
Scenarij 1: Atribut "naslov" HTML-a
U ovom slučaju, uzmimo primjer web stranice - http://demo.guru99.com/test/social-icon.html.
Pokušat ćemo provjeriti opis alata ikone "github" u gornjem desnom dijelu stranice.
Da bismo to učinili, prvo ćemo pronaći element i dobiti njegov atribut 'title' te provjeriti pomoću očekivanog teksta savjeta alata.
Budući da pretpostavljamo da se savjet alata nalazi u atributu "title", čak ni ne automatiziramo efekt lebdenja miša, već jednostavno dohvaćamo vrijednost atributa pomoću metode "getAttribute ()".
Ovdje je kod
uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.chrome.ChromeDriver;uvoz org.openqa.selenium. *;Savjet za alat javne klase {javna statička void glavna (String [] args) {String baseUrl = "http://demo.guru99.com/test/social-icon.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Upravljački program WebDriver = novi ChromeDriver ();driver.get (baseUrl);Niz očekujeTooltip = "Github";// Pronađite ikonu Github u gornjem desnom dijelu zaglavljaWebElement github = driver.findElement (By.xpath (".//*[@ class = 'soc-ico show-round'] / a [4]"));// dobivamo vrijednost atributa "title" ikone githubString actualTooltip = github.getAttribute ("naslov");// Utvrdimo da je vrijednost opisa opisana prema očekivanjimaSystem.out.println ("Stvarni naslov savjeta alata" + stvarniTooltip);if (actualTooltip.equals (očekuje seTooltip)) {System.out.println ("Test Case Passed");}driver.close ();}}
Objašnjenje koda
- Pronađite WebElement koji predstavlja ikonu "github".
- Nabavite njegov atribut "title" pomoću metode getAttribute ().
- Procijenite vrijednost prema očekivanoj vrijednosti opisa.
Scenarij 2: Dodatak JQuery:
Dostupno je puno dodataka JQuery za implementaciju opisa alata, a svaki ima malo drugačiji oblik implementacije.
Neki dodaci očekuju da će opis HTML-a biti prisutan cijelo vrijeme pored elementa za koji je opis opisa primjenjiv, dok drugi stvaraju dinamičku "div" oznaku koja se pojavljuje u hodu dok lebdi iznad elementa.
Za našu demonstraciju, razmotrimo način implementacije opisa "jQuery Tools Tooltip".
Ovdje u URL-u - http://demo.guru99.com/test/tooltip.html možete vidjeti demonstraciju gdje kada mišem zadržite pokazivač iznad "Preuzmi odmah", dobivamo napredni opis sa slikom, pozadinom dodatnog opisa, tablicom i vezu unutar koje se može kliknuti.
Ako pogledate izvor u nastavku, možete vidjeti da je oznaka div koja predstavlja opis, uvijek prisutna pored oznake veze "Preuzmi sada". Ali, kôd unutar donje oznake skripte kontrolira kada treba iskočiti.
Pokušajmo provjeriti samo tekst veze u opisu alata za našu demonstraciju ovdje.
Prvo ćemo pronaći WebElement koji odgovara "Preuzmi odmah". Zatim ćemo se pomoću API-ja za interakcije premjestiti na element (zadržavanje miša). Zatim ćemo pronaći WebElement koji odgovara poveznici unutar prikazanog opisa alata i provjeriti ga u odnosu na očekivani tekst.
Ovdje je kod
uvoz org.openqa.selenium.interactions.Action;uvoz org.openqa.selenium.interactions.Actions;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.chrome.ChromeDriver;uvoz org.openqa.selenium. *;javna klasa JqueryToolTip {javna statička void glavna (String [] args) {String baseUrl = "http://demo.guru99.com/test/tooltip.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Upravljački program WebDriver = novi ChromeDriver ();String očekujeTooltip = "Što je novo u 3.2";driver.get (baseUrl);WebElement preuzimanje = driver.findElement (By.xpath (".//*[@ id = 'download_now']"));Graditelj radnji = nove radnje (pokretački program);builder.clickAndHold (). moveToElement (preuzimanje);builder.moveToElement (preuzimanje) .build (). perform ();WebElement toolTipElement = driver.findElement (By.xpath (".//*[@ class = 'box'] / div / a"));String actualTooltip = toolTipElement.getText ();System.out.println ("Stvarni naslov savjeta alata" + stvarniTooltip);if (actualTooltip.equals (očekuje seTooltip)) {System.out.println ("Test Case Passed");}driver.close ();}}
Objašnjenje koda
- Pronađite WebElement koji odgovara elementu "preuzmi odmah" na koji ćemo lebdjeti mišem.
- Koristeći API za interakcije, postavite pokazivač miša na "Preuzmi odmah".
- Pod pretpostavkom da je prikazan opis, pronađite WebElement koji odgovara vezi unutar opisa, odnosno oznaku "a".
- Provjerite tekst opisa veze koji je preuzet pomoću getText () u odnosu na očekivanu vrijednost koju smo pohranili u "očekivaniToolTip"
Sažetak:
U ovom vodiču naučili ste kako pristupiti savjetima pomoću upravljačkog programa Selenium Web.
- Savjeti za alate implementiraju se na različite načine -
- Osnovna implementacija temelji se na HTML-ovom atributu "title". getAttribute (title) dobiva vrijednost opisa.
- Ostale implementacije savjeta alata poput JQueryja, CSS-ovi alati zahtijevaju API interakcija za stvaranje efekta lebdenja miša
- API za napredne interakcije korisnika
- moveToElement (element) klase Actions koristi se za zadržavanje miša na elementu.
- Način Build () klase Action gradi redoslijed korisničkih radnji u objekt Action.
- Klasa Perform () klase Action izvršava sav slijed korisničkih radnji odjednom.
- Da bismo provjerili opis alata, prvo moramo zadržati pokazivač miša na elementu, zatim pronaći element koji odgovara vrhu alata i dobiti njegov tekst ili druge vrijednosti za provjeru u odnosu na očekivane vrijednosti.