Egér kattintás & Billentyűzet esemény: Akcióosztály a szelén webdriverben

Tartalomjegyzék:

Anonim

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 elem része. Ha nincs lebegve, színe # FFC455 (narancssárga). Lebegés után a cella színe átlátszóvá válik. Ugyanolyan színűvé válik, mint az egész narancssárga asztal kék háttere.

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 elem háttérszínének ellenőrzéséhez az egérrel az előtte és után.

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.