Ebben az oktatóanyagban megtanuljuk kezelni a billentyűzet és egér eseményeket a Selenium Webdriver alkalmazásban
Akcióosztály szelénben
Az Action Class in Selenium a szelén beépített funkciója a billentyűzet és egér eseményeinek kezelésére. Különféle műveleteket tartalmaz, mint például több esemény kattintása a vezérlőgombbal, fogd és vidd események és még sok más. Ezeket a műveleteket a műveleti osztályból a Selenium Webdriver speciális felhasználói interakciós API-jával hajtják végre.
A billentyűzet és egér eseményeinek kezelése
A speciális billentyűzet- és egéresemények kezelése az Advanced User Interactions API segítségével történik . Ez tartalmazza azokat a Műveleteket és a Művelet osztályokat, amelyekre szükség van az események végrehajtásakor. Az alábbiak a leggyakrabban használt billentyűzet és egér események, amelyeket az Actions osztály biztosít.
Módszer | Leírás |
---|---|
clickAndHold () | Kattintások (elengedés nélkül) az egér aktuális helyén. |
contextClick () | Környezetkattintást végez az egér aktuális helyén. (Jobb klikk egérrel) |
dupla kattintás() | Kattintson duplán az egér aktuális helyére. |
dragAndDrop (forrás, cél) | Kattintson és tartsa lenyomva a forrás elem helyét, a célelem helyére lép, majd elengedi az egeret. Paraméterek: forrás- elem, amely utánozza a gombot az at.target- elemen lefelé. |
dragAndDropBy (forrás, x-eltolás, y-eltolás) | Kattintson és tartsa lenyomva a forrás elem helyét, mozog egy adott eltolással, majd elengedi az egeret. Paraméterek : forrás - elem, amely utánozza a gombot lefelé. XOffset - vízszintes elmozdulás eltolás. YOffset - függőleges elmozdulás eltolás. |
keyDown (módosító_kulcs) | Végez egy módosító gombot. Nem engedi fel a módosító kulcsot - a későbbi interakciók feltételezhetik, hogy nyomva tartják. Paraméterek : modifier_key - bármely módosító kulcs (Keys.ALT, Keys.SHIFT vagy Keys.CONTROL) |
keyUp (módosító _kulcs) | Végrehajt egy kulcskioldást. Paraméterek : modifier_key - bármely módosító kulcs (Keys.ALT, Keys.SHIFT vagy Keys.CONTROL) |
moveByOffset (x-offset, y-offset) | Az egeret az adott eltolással mozgatja az aktuális helyzetéből (vagy 0,0-ból). Paraméterek : x-eltolás - vízszintes eltolás. A negatív érték azt jelenti, hogy az egeret balra mozgatja. Y-offset - függőleges eltolás. A negatív érték az egér lefelé mozgatását jelenti. |
moveToElement (toElement) | Az egeret az elem közepére mozgatja. Paraméterek : toElement- elem, ahová lépni kell. |
kiadás() | Felengedi a lenyomott egérgombot az egér aktuális helyén |
sendKeys (onElement, charsequence) | Billentyűsorozatot küld az elemre. Paraméterek : onElement - olyan elem, amely megkapja a billentyűleütéseket, általában szöveges mezőhatás - bármely elküldendő billentyűleütés sorrendjét képviselő karakterlánc-érték |
A következő példában a moveToElement () metódust használjuk az egérmutatóra az egyik Mercury Tours táblázat során. Lásd az alábbi példát.
A fent látható cella egy
1. lépés: Importálja a Műveletek és a Művelet osztályokat.
2. lépés: Azonnali egy új Műveletek objektum.
3. lépés: Azonnali művelet a 2. lépés Műveletek objektumával.
Ebben az esetben a moveToElement () metódust fogjuk használni, mert egyszerűen a "Home" link fölé vezetünk. A build () módszer mindig a végső alkalmazott módszer, így az összes felsorolt műveletet egyetlen lépésben állítják össze.
4. lépés: Használja az perform () metódust a 3. lépésben tervezett Action objektum végrehajtásakor.
Az alábbiakban látható a teljes WebDriver-kód az
csomag newproject;import org.openqa.selenium. *;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.interactions.Action;import org.openqa.selenium.interactions.Actions;PG7 nyilvános osztály {public static void main (String [] érvel) {Karaktersorozat baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");WebDriver illesztőprogram = new FirefoxDriver ();driver.get (baseUrl);WebElement link_Home = driver.findElement (By.linkText ("Főoldal"));WebElement td_Home = illesztőprogram.findElement (Által.xpath ("// html / body / div"+ "/ table / tbody / tr / td"+ "/ table / tbody / tr / td"+ "/ table / tbody / tr / td"+ "/ table / tbody / tr"));Actions builder = new Actions (meghajtó);Action mouseOverHome = építő.moveToElement (link_Home).épít();Karakterlánc bgColor = td_Home.getCssValue ("háttérszín");System.out.println ("Lebegés előtt: + bgColor);mouseOverHome.perform ();bgColor = td_Home.getCssValue ("háttérszín");System.out.println ("Lebegés után: + bgColor);driver.close ();}}
Az alábbi kimenet egyértelműen kijelenti, hogy a háttérszín átlátszóvá vált az egérmutatót követően.
Több művelet sorozatának felépítése
A Műveletek és a Műveletek osztályok segítségével felépíthet egy sor műveletet . Ne felejtsd el bezárni a sorozatot a build () metódussal. Vegye figyelembe az alábbi mintakódot.
public static void main (String [] érvel) {String baseUrl = "http://www.facebook.com/";WebDriver illesztőprogram = new FirefoxDriver ();driver.get (baseUrl);WebElement txtUsername = driver.findElement (By.id ("e-mail"));Actions builder = new Actions (meghajtó);Action seriesOfActions = építő.moveToElement (txtUsername).click ().keyDown (txtUsername, Keys.SHIFT).sendKeys (txtUsername, "helló").keyUp (txtUsername, Keys.SHIFT).doubleClick (txtUsername).contextClick ().épít();seriesOfActions.perform ();}
Összegzés
- A speciális billentyűzet- és egéresemények kezelése az AdvancedUserInteractions API segítségével történik.
- A gyakran használt kulcsszó- és egéresemények a doubleClick (), keyUp, dragAndDropBy, contextClick & sendKeys.