Šioje pamokoje sužinosime, kaip valdyti klaviatūrą ir pelės renginį „Selenium Webdriver“
Veiksmo klasė selene
„Selenium“ veiksmo klasė yra integruota seleno teikiama funkcija klaviatūros ir pelės įvykiams tvarkyti. Tai apima įvairias operacijas, pvz., Kelis įvykius, spustelėjus valdymo klavišą, nuvilkimo įvykius ir daug daugiau. Šios veiksmo klasės operacijos atliekamos naudojant išplėstinę vartotojo sąveikos API „Selenium Webdriver“.
Klaviatūros ir pelės įvykių tvarkymas
Specialių klaviatūros ir pelės įvykių tvarkymas atliekamas naudojant išplėstinę vartotojo sąveikos API . Jame yra Veiksmai ir Veiksmų klasės, kurių reikia vykdant šiuos įvykius. Toliau pateikiami dažniausiai naudojami klaviatūros ir pelės įvykiai, kuriuos teikia klasė „Veiksmai“.
Metodas | apibūdinimas |
---|---|
spustelėkiteAndHold () | Spustelėjimai (neatleidžiant) dabartinėje pelės vietoje. |
contextClick () | Atlieka konteksto paspaudimą dabartinėje pelės vietoje. (Dešiniuoju pelės mygtuku spustelėkite pelės veiksmą) |
dukart spustelėkite() | Atlieka dukart spustelėjimą dabartinėje pelės vietoje. |
dragAndDrop (šaltinis, tikslas) | Atlieka paspaudimą ir palaikymą šaltinio elemento vietoje, pereina į tikslinio elemento vietą, tada atleidžia pelę. Parametrai: šaltinis - elementas, į kurį reikia imituoti mygtuką žemyn at.target - elementas, norint pereiti ir atleisti pelę. |
dragAndDropBy (šaltinis, x poslinkis, y poslinkis) | Atlieka paspaudimą ir palaikymą šaltinio elemento vietoje, juda nurodytu poslinkiu, tada atleidžia pelę. Parametrai : šaltinis - elementas, į kurį reikia imituoti mygtuką žemyn. |
keyDown (modifier_key) | Paspaudžia modifikatoriaus klavišą. Neatleidžia modifikatoriaus klavišo - tolesnė sąveika gali daryti prielaidą, kad jis palaikomas paspaustas. Parametrai : modifier_key - bet kuris modifikavimo raktas (Keys.ALT, Keys.SHIFT arba Keys.CONTROL) |
keyUp (modifikatorius _key) | Atlieka rakto atleidimą. Parametrai : modifier_key - bet kuris modifikavimo raktas (Keys.ALT, Keys.SHIFT arba Keys.CONTROL) |
„moveByOffset“ (x poslinkis, y poslinkis) | Perkelia pelę iš dabartinės padėties (arba 0,0) pagal pateiktą poslinkį. Parametrai : x poslinkis - horizontalus poslinkis. Neigiama reikšmė reiškia pelės judėjimą kairėn. Y-offset- vertikalus poslinkis. Neigiama reikšmė reiškia pelės judėjimą žemyn. |
„moveToElement“ („toElement“) | Perkelia pelę į elemento vidurį. Parametrai : toElement- elementas, į kurį reikia pereiti. |
išleisti () | Atleidžia nuspaustą kairįjį pelės mygtuką dabartinėje pelės vietoje |
sendKeys (onElement, charsequence) | Siunčia elementui paspaudimų seriją. Parametrai : onElement - elementas, kuris gaus klavišų paspaudimus, paprastai teksto lauko pasekmė - bet kokia eilutės reikšmė, atspindinti siunčiamų klavišų seką |
Šiame pavyzdyje mes naudosime metodą „moveToElement ()“, norėdami perkelti pelės žymeklį ant vienos „Mercury Tours“ lentelės eilutės. Žr. Toliau pateiktą pavyzdį.
Aukščiau parodyta ląstelė yra elemento
1 veiksmas: importuokite veiksmus ir veiksmus .
2 žingsnis: Intuituokite naują objektą „Veiksmai“.
3 žingsnis: Intuituokite veiksmą naudodami 2 veiksmo objektą Veiksmai.
Tokiu atveju mes naudosime metodą „moveToElement ()“, nes paprasčiausiai pereisime prie nuorodos „Pagrindinis“. „Build ()“ metodas visada yra galutinis naudojamas metodas, kad visi išvardyti veiksmai būtų sudaryti į vieną žingsnį.
4 žingsnis: naudokite atlikimo () metodą vykdydami veiksmo objektą, kurį sukūrėme 3 veiksme.
Žemiau yra visas „WebDriver“ kodas, skirtas patikrinti elemento
paketas newproject;importuoti org.openqa.selenium. *;importuoti org.openqa.selenium.firefox.FirefoxDriver;importuoti org.openqa.selenium.interactions.Action;importuoti org.openqa.selenium.interactions.Actions;viešoji klasė PG7 {public static void main (String [] argumentuoja) {Eilutė baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");„WebDriver“ tvarkyklė = nauja „FirefoxDriver“ ();vairuotojas.get (baseUrl);„WebElement link_Home = driver.findElement“ (By.linkText („Pagrindinis“));„WebElement“ td_Home = tvarkyklė.findElement (Autorius.xpath ("// html / body / div"+ "/ table / tbody / tr / td"+ "/ table / tbody / tr / td"+ "/ table / tbody / tr / td"+ "/ table / tbody / tr"));Veiksmų kūrėjas = naujas Veiksmai (tvarkyklė);Veiksmo mouseOverHome = statybininkas.moveToElement (link_Home).pastatyti ();Eilutė bgColor = td_Home.getCssValue ("fono spalva");System.out.println ("Prieš užveskite pelės žymeklį: + bgColor);mouseOverHome.perform ();bgColor = td_Home.getCssValue ("fono spalva");System.out.println ("Po žymeklio: + bgColor);vairuotojas.uždaryti ();}}
Žemiau pateiktoje išvestyje aiškiai nurodyta, kad pelės žymeklio fono spalva tapo skaidri.
Daugelio veiksmų serijos kūrimas
Veiksmų seriją galite sukurti naudodami klases „Veiksmas“ ir „Veiksmai“ . Tiesiog nepamirškite uždaryti serijos naudojant build () metodą. Apsvarstykite toliau pateiktą pavyzdinį kodą.
public static void main (String [] argumentuoja) {Eilutė baseUrl = "http://www.facebook.com/";„WebDriver“ tvarkyklė = nauja „FirefoxDriver“ ();vairuotojas.get (baseUrl);„WebElement“ txtUsername = driver.findElement (By.id („el. Paštas“));Veiksmų kūrėjas = naujas Veiksmai (tvarkyklė);Veiksmo serijaOfActions = statybininkas.moveToElement (txtUsername).spustelėkite ().keyDown („txtUsername“, raktai.SHIFT).sendKeys (txtUsername, „labas“).keyUp (txtUsername, raktai.SHIFT).doubleClick (txtUsername).contextClick ().pastatyti ();seriesOfActions.perform ();}
Santrauka
- Specialių klaviatūros ir pelės įvykių tvarkymas atliekamas naudojant „AdvancedUserInteractions“ API.
- Dažnai naudojami raktinių žodžių ir pelių įvykiai yra „DoubleClick“ (), keyUp, dragAndDropBy, contextClick & sendKeys.