Eszköztár a szelénben
A szelénben megjelenő eszköztipp egy olyan szöveg, amely akkor jelenik meg, amikor az egér egy objektum fölé viszi a weblapot. Az objektum lehet link, kép, gomb, szöveges terület stb. Az eszköztipp szöveg gyakran több információt ad arról az objektumról, amelyen a felhasználó az egér kurzor fölött lebeg.
Az eszköztippeket hagyományosan egy elem „cím” attribútumaként hajtották végre. Ennek az attribútumnak az értéke az egérmutatón eszköztippként jelent meg. Ez egy statikus szöveg, amely stílus nélkül ad információt az elemről.
Most számos plugin áll rendelkezésre az „eszköztippek” megvalósításához. A stílussal, megjelenítéssel, képekkel és hivatkozásokkal ellátott fejlett eszköztippek a JavaScript / JQuery beépülő modulok vagy a CSS eszköztippek segítségével valósulnak meg.
- A HTML "title" attribútummal megvalósított statikus eszköztippek eléréséhez vagy ellenőrzéséhez egyszerűen használhatjuk a WebElement getAttribute ("title") módszerét. Ennek a módszernek a visszaadott értékét (amely az eszköztipp szöveg) összehasonlítjuk az ellenőrzés várható értékével.
- Az eszköztipp megvalósításának egyéb formáihoz az egér lebegő effektus létrehozásához, majd az elemhez tartozó eszköztipp lekéréséhez a web-illesztőprogram által biztosított "Advanced User Interactions API"-t kell használnunk.
Az Advanced User Interactions API rövid ismertetése:
A Speciális felhasználói interakciók API biztosítja az API-t az olyan felhasználói műveletekhez, mint a fogd és vidd, az egérmutató, a többszörös kijelölés, a gomb lenyomása és felengedése, valamint egyéb műveletek a billentyűzet vagy az egér használatával egy weboldalon.
Az API-ról további részletekre hivatkozhat.
https://seleniumhq.github.io/selenium/docs/api/java/index.html?org/openqa/selenium/interactions/Actions.html
Itt nézzük meg, hogyan használhatunk néhány osztályt és módszert, amelyekre egy csúszka elemet kell eltolni egy eltolással.
1. lépés: Az API használatához a következő csomagokat / osztályokat kell importálni:
2. lépés: Hozzon létre egy objektumot a „Műveletek” osztályból, és állítsa össze a felhasználói műveletek sorrendjét. Az Actions class a felhasználói műveletek sorozatának felépítésére szolgál, például a moveToElement (), dragAndDrop () stb. A felhasználói műveletekhez kapcsolódó különféle módszereket az API biztosítja.
A meghajtóobjektum a konstruktor paramétereként van megadva.
3. lépés: Hozzon létre egy Műveletobjektumot a „Műveletek” osztály build () módszerével. Hívja meg az perform () metódust az Actions objektum által létrehozott összes művelet végrehajtásához (itt a készítő).
Láttuk, hogyan kell használni az API által biztosított felhasználói műveletek néhány módszerét - clickAndHold (elem), moveByOffset (10,0), release (). Az API sok ilyen módszert kínál.
További részletekért lásd a linket.
Hogyan szerezhetünk Tooltip szöveget a Selenium Webdriver programban
Lássuk a szerszámtippek elérésének és ellenőrzésének bemutatását az egyszerű forgatókönyvben
- 1. eset: Az eszköztipp a "title" attribútum segítségével valósul meg
- 2. forgatókönyv: Az eszköztipp egy jQuery plugin segítségével valósul meg.
1. forgatókönyv: HTML 'title' attribútum
Ebben az esetben vegyük a példa webhelyet - http://demo.guru99.com/test/social-icon.html.
Megpróbáljuk ellenőrizni az oldal jobb felső sarkában található "github" ikon tippjét.
Ennek elvégzéséhez először meg kell találni az elemet, megkapjuk a 'title' attribútumot, és ellenőrizzük a várt eszköztipp szövegével.
Mivel feltételezzük, hogy az eszköztipp a "title" attribútumban van, nem is automatizáljuk az egér lebegtetését, hanem egyszerűen lekérjük az attribútum értékét a "getAttribute ()" módszerrel.
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 [] érvel) {Karaktersorozat baseUrl = "http://demo.guru99.com/test/social-icon.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver illesztőprogram = new ChromeDriver ();driver.get (baseUrl);String várhatóTooltip = "Github";// Keresse meg a fejléc jobb felső sarkában található Github ikontWebElement github = driver.findElement (By.xpath (".//*[@ class = 'soc-ico show-round'] / a [4]"));// megkapja a github ikon "title" attribútumának értékétString actualTooltip = github.getAttribute ("title");// Állítsa be, hogy az eszköztipp értéke a vártnak felel megSystem.out.println ("Az eszköztipp tényleges címe" + actualTooltip);if (actualTooltip.equals (várhatóTooltip)) {System.out.println ("Sikeres teszteset");}driver.close ();}}
A kód magyarázata
- Keresse meg a "github" ikont képviselő WebElement-et.
- Szerezze be a "title" attribútumot a getAttribute () módszerrel.
- Állítsa be az értéket a várható eszköztipp értékhez képest.
2. forgatókönyv: JQuery beépülő modul:
Rengeteg JQuery plugin áll rendelkezésre az eszköztippek végrehajtásához, és mindegyiknek kissé más a megvalósítási formája.
Egyes bővítmények azt várják, hogy a HTML-tooltip folyamatosan jelen legyen az elem mellett, amelyre az eszköztipp alkalmazható, míg a többiek dinamikus "div" címkét hoznak létre, amely menet közben jelenik meg, miközben az elem fölé viszi az egeret.
Bemutatónkban vegyük figyelembe az "jQuery Tools Tooltip" módszert az eszköztipp megvalósításához.
Itt az URL-ben - http://demo.guru99.com/test/tooltip.html láthatja a bemutatót, ahol az egérrel a "Letöltés most" fölött lebegve kapunk egy speciális tippet képpel, kiemelő háttérrel, táblázattal és egy link, amely kattintható.
Ha megnézi az alábbi forrást, láthatja, hogy a "Töltse le most" link címkéje mellett mindig jelen van az eszköztippet képviselő div tag. De az alábbi szkript címkében lévő kód vezérli, hogy mikor kell felugrani.
Próbáljuk meg ellenőrizni a bemutató bemutatásához szükséges link szövegét.
Először megtaláljuk a "Letöltés most" -nak megfelelő WebElement-et. Ezután az Interactions API használatával áttérünk az elemre (egérmutató). Ezután megtaláljuk a megjelenített eszköztippen belüli linknek megfelelő WebElement-et, és ellenőrizzük a várt szöveggel.
Itt van a kód
import org.openqa.selenium.interactions.Action;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. *;nyilvános osztály JqueryToolTip {public static void main (String [] érvel) {Karaktersorozat baseUrl = "http://demo.guru99.com/test/tooltip.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver illesztőprogram = new ChromeDriver ();String várhatóTooltip = "A 3.2 újdonságai";driver.get (baseUrl);WebElement letöltés = driver.findElement (By.xpath (".//*[@ id = 'download_now']"));Actions builder = new Actions (meghajtó);builder.clickAndHold (). moveToElement (letöltés);builder.moveToElement (letöltés) .build (). perform ();WebElement toolTipElement = driver.findElement (By.xpath (".//*[@ class = 'box'] / div / a"));String actualTooltip = toolTipElement.getText ();System.out.println ("Az eszköztipp tényleges címe" + actualTooltip);if (actualTooltip.equals (várhatóTooltip)) {System.out.println ("Sikeres teszteset");}driver.close ();}}
Kód Magyarázat
- Keresse meg a "letöltés most" elemnek megfelelő WebElement elemet, amelyet az egérrel lebegtetünk.
- Az Interactions API használatával vigye az egérmutatót a „Letöltés most” elemre.
- Feltételezve, hogy az eszköztipp megjelenik, keresse meg a WebElement elemet, amely megfelel az eszköztipp belsejében lévő linknek, azaz az "a" címkének.
- Ellenőrizze a link getText () segítségével letöltött eszköztipp szövegét a várt értékkel szemben, amelyet a "várhatóToolTip" -ben tároltunk
Összegzés:
Ebben az oktatóanyagban megtanulta, hogyan érheti el az Eszköztippeket a Selenium webillesztő segítségével.
- Az eszköztippek különböző módon valósulnak meg -
- Az alapvető megvalósítás a HTML "title" attribútumán alapul. A getAttribute (title) megkapja az eszköztipp értékét.
- Más eszköztippek megvalósításához, például a JQuery, a CSS tippekhez, Interaction API-ra van szükség az egér lebegő effektus létrehozásához
- Speciális felhasználói interakciók API
- Az Actions class moveToElement (elem) az egérrel egérrel lebegtethet egy elemet.
- A Build () metódus Actions osztály a felhasználói műveletek sorrendjét egy Action objektumba építi.
- A Perform () of Action osztály a felhasználó összes műveletsorozatát egyszerre hajtja végre.
- Az eszköztipp ellenőrzéséhez először el kell mozgatni az egeret az egérrel, majd meg kell találni azt az elemet, amely megfelel az eszköztippnek, és be kell szereznünk annak szövegét vagy más értékeit, hogy ellenőrizzük a várt értékekkel.