Az eszköztipp ellenőrzése Selenium
⚡ Okos összefoglaló
Eszköztipp ellenőrzése itt: Selenium A WebDriver két megbízható mintát kínál az eszköztipp szövegének megadására: a HTML cím attribútumának közvetlen beolvasását és az Actions API használatát a dinamikusan megjelenítő elemek fölé húzáshoz. JavaSzkript vagy jQuery eszköztippek.

Eszköztipp be Selenium
A Eszköztipp be Selenium egy rövid szöveg, amely akkor jelenik meg, amikor az egérmutatót egy weboldalon lévő objektum fölé viszi. Az objektum lehet egy hivatkozás, egy kép, egy gomb vagy egy szövegterület. Az elemleírás szövege gyakran további információt nyújt a kurzor alatti elemről.
Az eszköztippeket hagyományosan az elemek „title” attribútumaként valósították meg. Az attribútum értéke eszköztippként jelent meg az egérmutató fölé helyezésekor. Ez egy statikus szöveg, amely stílus nélkül ad információt az elemről.
Manapság számos bővítmény érhető el az eszköztippek megvalósításához. A stílusokkal, rendereléssel, képekkel és linkekkel ellátott fejlett eszköztippek a következők segítségével készülnek: JavaSzkript- vagy jQuery bővítmények, vagy csak CSS-re vonatkozó eszköztippek.
- A HTML „title” attribútumon keresztül megvalósított statikus eszköztippek eléréséhez vagy ellenőrzéséhez használja a
getAttribute("title")metódus a WebElementen. A visszaadott értéket (az elemleírás szövegét) összehasonlítja a rendszer egy várható értékkel az ellenőrzés érdekében. - Más elemleírás-implementációkhoz használja a WebDriver által biztosított „Advanced User Interactions API”-t az egérmutató-effektus létrehozásához, majd az elem elemleírásának lekéréséhez.
Az Advanced User Interactions API rövid ismertetése
Az Advanced User Interactions API olyan felhasználói műveleteket tesz elérhetővé, mint a húzás és elengedés, az egérrel való ráhelyezés, a többszörös kijelölés, a billentyűleütés és elengedés, valamint egyéb billentyűzet- vagy egérműveletek egy weboldalon.
Erre hivatkozhat hivatalos Actions osztályhivatkozás az API-val kapcsolatos további részletekért.
Ugrás előttping Forgatókönyvekbe menően nézzük meg azokat az osztályokat és metódusokat, amelyekre szükségünk van egy csúszka elem eltolásával történő mozgatásához.
Step 1) Az API használatához importálja a következő csomagokat és osztályokat:
Step 2) Hozz létre egy „Actions” osztályú objektumot, és építsd fel a felhasználói műveletek sorozatát. Az Actions osztály láncolt műveleteket épít, például a moveToElement() és a dragAndDrop(). A driver objektum paraméterként kerül átadásra a konstruktorának.
Step 3) Hozz létre egy Action objektumot az „Actions” osztály build() metódusával. Hívd meg a perform() metódust a builder összes sorban álló műveletének végrehajtásához.
Láttuk, hogyan használhatunk néhányat az API által biztosított felhasználói Action metódusok közül: clickAndHold(element), moveByOffset(10, 0) és release(). Az API sokkal többet is elérhetővé tesz.
Eszközleírás megvalósítása vs. Selenium Ellenőrzési megközelítés
| Eszközleírás típusa | Hogyan jelenik meg | Selenium Megközelítés |
|---|---|---|
| HTML cím attribútum | Magán az elemen tárolt szöveg; a böngésző az egérmutatóra kattintva megjelenik. | Olvassa el a következővel: getAttribute("title") or getDomAttribute("title")Nincs szükség lebegésre. |
| jQuery / JS bővítmény | Az egérmutató fölé mozgatásakor az elem mellett dedikált div jelenik meg. | Műveletek használata moveToElement(target).perform(), várjon, majd olvassa el a tooltip elemet a következővel: getText(). |
| Csak CSS-re vonatkozó elemleírás | Pszeudoelem vagy testvér div ki-/bekapcsolása :hover. |
Aktiválja az egérmutatót a Műveletek menüpontban, és olvassa fel a renderelt szöveget vagy a kiszámított stílust. |
Az eszköztipp ellenőrzése (kezelése) Selenium
Nézzük meg az eszköztippek elérését és ellenőrzését két gyakori forgatókönyv segítségével:
- 1. forgatókönyv: Az eszköztipp a „title” attribútum használatával van megvalósítva.
- 2. forgatókönyv: Az eszköztipp egy jQuery bővítménnyel van megvalósítva.
1. forgatókönyv: HTML „title” attribútum
Ebben az esetben a példaként szolgáló webhelyet használjuk https://demo.guru99.com/test/social-icon.html és ellenőrizze a „github” ikon eszköztippjét az oldal jobb felső sarkában.
Először megkeressük az elemet, majd beolvassuk a „title” attribútumát, és összehasonlítjuk a várt tooltip szöveggel.
Mivel az eszköztipp a „title” attribútumban található, az egér fölé helyezését sem automatizáljuk; egyszerűen csak a getAttribute() metódussal kérjük le az attribútum értékét.
Itt van a kód:
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(); } }
A kód magyarázata:
- Keresse meg a „github” ikont képviselő WebElement elemet.
- Olvasd be a „title” attribútumot a getAttribute() metódussal.
- Értéket a várt elemleírás szövegével szemben kell állítani.
Selenium 4 tipp: Jobban szeret getDomAttribute("title") a literál HTML attribútumhoz, és legyen Selenium A vezető a fix kódolás helyett megoldja az illesztőprogramot chromedriver.exe.
2. forgatókönyv: jQuery bővítmény
Sok jQuery bővítmény implementál eszköztippeket, és mindegyik kissé eltérően jelenik meg.
Néhány bővítmény mindig a trigger elem mellett tartja az eszköztipp jelölést, míg mások dinamikusan létrehoznak egy „div” címkét, amikor a kurzor belép a trigger elembe.
Ehhez a bemutatóhoz a „jQuery Tools Tooltip” stílust használjuk.
Nyisd ki https://demo.guru99.com/test/tooltip.html; a „Letöltés most” fölé vive az egérmutatót, egy speciális eszköztipp jelenik meg képpel, felirattal, háttérrel, egy kis táblázattal és egy kattintható hivatkozással.
Ha megvizsgálod a forráskódot, az eszköztippet ábrázoló div már ott van a „Letöltés most” link mellett. Az alábbi szkriptcímke szabályozza, hogy mikor jelenik meg.
Most ellenőrizzük az eszköztippben látható hivatkozás szövegét.
Először keresse meg a „Letöltés most” webelemet. Az Interactions API segítségével vigye az egérmutatót az elem fölé. Ezután keresse meg a megjelenített eszköztippben található hivatkozásra mutató webelemet, és ellenőrizze a szövegét a várt értékkel szemben.
Itt van a kód:
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 Magyarázat:
- Keresse meg azt a WebElement elemet, amely az egérmutatót fölé helyezendő „Letöltés most” elemhez van leképezve.
- Az Interactions API segítségével vigye a kurzort a „Letöltés most” elemre.
- Miután láthatóvá vált az eszköztipp, keresse meg a hivatkozást jelző WebElement elemet az eszköztippben (az „a” tag).
- Olvassa el az elemleírás szövegét a következővel:
getText()és hasonlítsa össze a tárolt várható értékkelexpectedTooltip.








