I denne veiledningen lærer vi håndtering av tastatur og musevent i Selenium Webdriver
Handlingsklasse i selen
Action Class in Selenium er en innebygd funksjon levert av selen for håndtering av tastatur- og musearrangementer. Den inkluderer forskjellige operasjoner, for eksempel flere hendelser ved å klikke på kontrolltasten, dra og slipp hendelser og mange flere. Disse operasjonene fra handlingsklassen utføres ved hjelp av APIet for avansert brukerinteraksjon i Selenium Webdriver.
Håndtering av tastatur- og musearrangementer
Håndtering av spesielle tastatur- og mushendelser gjøres ved hjelp av Advanced User Interactions API . Den inneholder handlingene og handlingsklassene som er nødvendige når du utfører disse hendelsene. Følgende er de mest brukte tastatur- og musearrangementene som tilbys av Handlingsklassen.
Metode | Beskrivelse |
---|---|
clickAndHold () | Klikk (uten å slippe) på gjeldende museplassering. |
contextClick () | Utfører et kontekst-klikk på gjeldende museplassering. (Høyreklikk mushandling) |
Dobbeltklikk() | Utfører et dobbeltklikk på gjeldende museplassering. |
dragAndDrop (kilde, mål) | Utfører klikk-og-hold på stedet for kildeelementet, flytter til plasseringen av målelementet og slipper deretter musen. Parametere: kildeelement å emulere-knappen ned på. Målelement for å flytte til og slippe musen ved. |
dragAndDropBy (kilde, x-offset, y-offset) | Utfører klikk-og-hold på stedet for kildeelementet, beveger seg ved en gitt forskyvning og slipper deretter musen. Parametere : kildeelement for å emulere knapp ned ved. XOffset- horisontal flytt offset. YOffset- vertikal flytt offset. |
keyDown (modifier_key) | Utfører et modifikasjonstrykk. Slipper ikke endringstasten - etterfølgende interaksjoner kan anta at den holdes nede. Parametere : modifier_key - hvilken som helst av modifikasjonstastene (Keys.ALT, Keys.SHIFT eller Keys.CONTROL) |
keyUp (modifier _key) | Utfører en nøkkelutgivelse. Parametere : modifier_key - hvilken som helst av modifikasjonstastene (Keys.ALT, Keys.SHIFT eller Keys.CONTROL) |
moveByOffset (x-offset, y-offset) | Flytter musen fra sin nåværende posisjon (eller 0,0) ved den angitte forskyvningen. Parametere : x-offset- horisontal offset. En negativ verdi betyr å flytte musen til venstre. Y-offset- vertikal offset. En negativ verdi betyr å flytte musen ned. |
moveToElement (toElement) | Flytter musen til midten av elementet. Parametere : toElement- element å flytte til. |
utgivelse() | Slipper den nedtrykte venstre museknappen på gjeldende museplassering |
sendKeys (onElement, charsequence) | Sender en serie tastetrykk på elementet. Parametere : onElement - element som vil motta tastetrykkene, vanligvis en tekstfeltfølg - hvilken som helst strengverdi som representerer sekvensen av tastetrykk som skal sendes |
I det følgende eksemplet skal vi bruke metoden moveToElement () til å musemarkere på en Mercury Tours 'tabellrader. Se eksemplet nedenfor.
Cellen vist ovenfor er en del av et
Trinn 1: Importer handlingen og handlingen .
Trinn 2: Instanter et nytt Handlingsobjekt.
Trinn 3: Instantiate a Action ved hjelp av Actions-objektet i trinn 2.
I dette tilfellet skal vi bruke moveToElement () -metoden fordi vi ganske enkelt skal holde musen over "Hjem" -linken. Metoden build () er alltid den endelige metoden som brukes, slik at alle de oppførte handlingene blir samlet i ett trinn.
Trinn 4: Bruk utfør () -metoden når du utfører handlingsobjektet vi designet i trinn 3.
Nedenfor er hele WebDriver-koden for å sjekke bakgrunnsfargen til
pakke newproject;importer org.openqa.selenium. *;importer org.openqa.selenium.firefox.FirefoxDriver;importer org.openqa.selenium.interactions.Action;importer org.openqa.selenium.interactions.Action;offentlig klasse PG7 {public static void main (String [] args) {Streng baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");WebDriver-driver = ny FirefoxDriver ();driver.get (baseUrl);WebElement link_Home = driver.findElement (By.linkText ("Hjem"));WebElement td_Home = driver.findElement (av.xpath ("// html / body / div"+ "/ tabell / tbody / tr / td"+ "/ tabell / tbody / tr / td"+ "/ tabell / tbody / tr / td"+ "/ tabell / tbody / tr"));Handlingsbygger = nye handlinger (driver);Handling mouseOverHome = byggmester.moveToElement (link_Home).bygge();Streng bgColor = td_Home.getCssValue ("bakgrunnsfarge");System.out.println ("Before hover: + bgColor);mouseOverHome.perform ();bgColor = td_Home.getCssValue ("bakgrunnsfarge");System.out.println ("Etter hover: + bgColor);driver.close ();}}
Resultatet nedenfor sier tydelig at bakgrunnsfargen ble gjennomsiktig etter musemekanismen.
Bygg en serie med flere handlinger
Du kan lage en rekke handlinger ved hjelp av handlingen og handlingene . Bare husk å lukke serien med metoden build (). Vurder eksemplet nedenfor.
public static void main (String [] args) {String baseUrl = "http://www.facebook.com/";WebDriver-driver = ny FirefoxDriver ();driver.get (baseUrl);WebElement txtUsername = driver.findElement (By.id ("e-post"));Handlingsbygger = nye handlinger (driver);HandlingsserieOfActions = byggmester.moveToElement (txtUsername).klikk ().keyDown (txtUsername, Keys.SHIFT).sendKeys (txtUsername, "hallo").keyUp (txtUsername, Keys.SHIFT).doubleClick (txtUsername).contextClick ().bygge();seriesOfActions.perform ();}
Sammendrag
- Håndtering av spesielle tastatur- og mushendelser gjøres ved hjelp av AdvancedUserInteractions API.
- Ofte brukte søkeord- og musearrangementer er doubleClick (), keyUp, dragAndDropBy, contextClick & sendKeys.