Tööriistavihje kinnitamine Selenium
⚡ Nutikas kokkuvõte
Kontrollige kohtspikri Selenium WebDriver hõlmab kahte usaldusväärset kohtspikri teksti kinnitamise mustrit: HTML-i pealkirja atribuudi otselugemine ja Actions API kasutamine dünaamiliselt renderdavate elementide kohal hiirega liikumiseks. JavaSkripti või jQuery kohtspikrid.
Tööriistavihje sisse Selenium
A Tööriistavihje sisse Selenium on lühike tekst, mis kuvatakse siis, kui hiir veebilehel objekti kohal liigub. Objekt võib olla link, pilt, nupp või tekstiala. Kohtvihje tekst annab sageli kursori all oleva elemendi kohta lisateavet.
Tööriistavihjeid rakendati traditsiooniliselt elemendi atribuudina „title”. Selle atribuudi väärtus kuvati hiirekursori liigutamisel elemendi kohale tööriistavihjena. See on staatiline tekst, mis annab elemendi kohta teavet ilma stiilita.
Tänapäeval on kohtspikri loomiseks saadaval palju pluginaid. Täiustatud kohtspikrid stiili, renderduse, piltide ja linkidega luuakse, kasutades järgmist. JavaSkripti- või jQuery pluginad või ainult CSS-i kohtspikrid.
- HTML-i atribuudi „title” kaudu rakendatud staatiliste kohtspikritele juurdepääsuks või nende kontrollimiseks kasutage
getAttribute("title")meetod veebielemendil. Tagastatud väärtust (kohtvihje teksti) võrreldakse kontrollimiseks oodatava väärtusega. - Teiste kohtspikri rakenduste puhul kasutage WebDriveri pakutavat „Advanced User Interactions API-t”, et luua hiirekursori hõljutamise efekt ja seejärel elemendi kohtspikri hankida.
Lühikirjeldus täiustatud kasutaja interaktsioonide API-st
Täiustatud kasutajainteraktsioonide API võimaldab veebilehel kasutaja toiminguid, nagu lohistamine, kursori hõljutamine, mitmikvalimine, klahvivajutus ja vabastamine ning muud klaviatuuri või hiire toimingud.
Võite sellele viidata ametlik Actionsi klassi viide API kohta lisateabe saamiseks.
Enne hüpetping Stsenaariumide osas vaatame klasse ja meetodeid, mida vajame liuguri elemendi nihke võrra liigutamiseks.
Step 1) API kasutamiseks importige järgmised paketid ja klassid:
Step 2) Looge klassi „Actions“ objekt ja koostage kasutaja toimingute jada. Klass Actions loob aheldatud toiminguid, näiteks moveToElement() ja dragAndDrop(). Draiveriobjekt antakse parameetrina konstruktorile.
Step 3) Loo Action objekt, kasutades klassi „Actions“ meetodit build(). Kutsu meetod perform(), et käivitada kõik järjekorras olevad toimingud ehitajas.
Oleme näinud, kuidas kasutada mõningaid API pakutavaid kasutaja toimingumeetodeid: clickAndHold(element), moveByOffset(10, 0) ja release(). API pakub palju rohkem.
Tööriistavihjete rakendamine vs. Selenium Kontrollimise meetod
| Tööriistavihje tüüp | Kuidas see renderdub | Selenium Lähenemine |
|---|---|---|
| HTML-i pealkirja atribuut | Tekst on salvestatud elemendile endale; brauser kuvab selle hiirega üle minnes. | Loe koos getAttribute("title") or getDomAttribute("title")Hõljumist pole vaja. |
| jQuery / JS plugin | Hiirega elemendi kohal liikumisel kuvatakse selle kõrval spetsiaalne div. | Kasutage toiminguid moveToElement(target).perform(), oota ja loe seejärel kohtspikri elementi getText(). |
| Ainult CSS-i kohtspikri | Pseudoelement või sugulusdiv lülitati sisse/välja :hover. |
Hõljuta kursorit toimingutega ja loe renderdatud teksti või arvutatud stiili. |
Tööriistavihje kinnitamine (käsitsemine) Selenium
Vaatame kahe levinud stsenaariumi abil tööriistavihjetele juurdepääsu ja nende kontrollimise kohta järgmist:
- Stsenaarium 1: Tööriistavihje rakendatakse atribuudi „title” abil.
- Stsenaarium 2: Tööriistavihje rakendatakse jQuery plugina abil.
1. stsenaarium: HTML-i atribuut „title”
Sel juhul kasutame näidisveebisaiti https://demo.guru99.com/test/social-icon.html ja kontrollige lehe paremas ülanurgas asuva „github” ikooni kohtspikriit.
Esmalt leiame elemendi, seejärel loeme selle atribuudi „pealkiri” ja võrdleme seda oodatava kohtspikri tekstiga.
Kuna kohtspikri asub atribuudis „title”, ei automatiseeri me isegi hiirekursori liigutamist; me lihtsalt hangime atribuudi väärtuse meetodiga getAttribute().
Siin on kood:
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.*; public class ToolTip { public static void main(String[] args) { String baseUrl = "https://demo.guru99.com/test/social-icon.html"; System.setProperty("webdriver.chrome.driver", "G:\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get(baseUrl); String expectedTooltip = "Github"; // Find the Github icon at the top right of the header WebElement github = driver.findElement(By.xpath(".//*[@class='soc-ico show-round']/a[4]")); // Read the "title" attribute value of the Github icon String actualTooltip = github.getAttribute("title"); // Assert that the tooltip value matches the expected one System.out.println("Actual Title of Tool Tip " + actualTooltip); if (actualTooltip.equals(expectedTooltip)) { System.out.println("Test Case Passed"); } driver.close(); } }
Koodi selgitus:
- Leidke WebElement, mis tähistab ikooni „github”.
- Loe selle atribuuti „title” meetodiga getAttribute().
- Kinnitage väärtus oodatava kohtspikri teksti suhtes.
Selenium 4 näpunäide: Eelista getDomAttribute("title") literaali HTML-atribuudi jaoks ja laske Selenium Haldur lahendab draiveri kõvakodeerimise asemel chromedriver.exe.
Stsenaarium 2: jQuery plugin
Paljud jQuery pluginad rakendavad kohtspikriid ja igaüks neist renderdub veidi erinevalt.
Mõned pluginad hoiavad kohtspikri märgistust kogu aeg päästikuelemendi kõrval, teised aga loovad kursori päästikule sisenemisel dünaamiliselt sildi „div”.
Selle demonstratsiooni jaoks kasutame stiili „jQuery Tools Tooltip”.
avatud https://demo.guru99.com/test/tooltip.html; hiirekursori hõljumine valiku „Laadi kohe alla” kohal kuvab täpsema kohtspikri pildi, viikteksti tausta, väikese tabeli ja klõpsatava lingiga.
Kui vaatate lähtekoodi, asub kohtspikri esindav div juba lingi „Laadi kohe alla” kõrval. Allolev skriptisilt kontrollib, millal see kuvatakse.
Nüüd kontrollime kohtspikri sees kuvatavat lingiteksti.
Esmalt leidke veebielement „Laadi kohe alla“. Kasutage elemendi juurde liikumiseks interaktsioonide API-t (hiirt liigutades). Seejärel leidke veebielement, mis vastab kuvatava kohtspikri lingile, ja kontrollige selle teksti oodatava väärtuse suhtes.
Siin on kood:
import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.*; public class JqueryToolTip { public static void main(String[] args) { String baseUrl = "https://demo.guru99.com/test/tooltip.html"; System.setProperty("webdriver.chrome.driver", "G:\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); String expectedTooltip = "What's new in 3.2"; driver.get(baseUrl); WebElement download = driver.findElement(By.xpath(".//*[@id='download_now']")); Actions builder = new Actions(driver); // Hover over the "Download now" link to reveal the tooltip builder.moveToElement(download).build().perform(); WebElement toolTipElement = driver.findElement(By.xpath(".//*[@class='box']/div/a")); String actualTooltip = toolTipElement.getText(); System.out.println("Actual Title of Tool Tip " + actualTooltip); if (actualTooltip.equals(expectedTooltip)) { System.out.println("Test Case Passed"); } driver.close(); } }
Code Selgitus:
- Leidke veebielement (WebElement), mis vastab elemendile „Laadi kohe alla”, mille kohal hiirekursor hõljutab.
- Kasutage interaktsioonide API-t, et viia kursor valiku „Laadi kohe alla“ peale.
- Kui kohtspikri on nähtav, leidke kohtspikri sees olevat linki esindav veebielement („a“ silt).
- Loe kohtspikri teksti koos
getText()ja võrrelge seda salvestatud eeldatava väärtusegaexpectedTooltip.









