Peles klikšķis & Tastatūras notikums: darbības klase selēna Webdriver

Satura rādītājs:

Anonim

Šajā apmācībā mēs iemācīsimies rīkoties ar tastatūru un peles notikumu Selenium Webdriver

Darbības klase selēnā

Action Class in Selenium ir iebūvēta funkcija, ko selēns nodrošina tastatūras un peles notikumu apstrādei. Tas ietver dažādas darbības, piemēram, vairākus notikumus, noklikšķinot ar vadības taustiņu, velciet un nometiet notikumus un daudz ko citu. Šīs darbības klases darbības tiek veiktas, izmantojot uzlaboto lietotāja mijiedarbības API Selenium Webdriver.

Tastatūras un peles notikumu apstrāde

Īpašu tastatūras un peles notikumu apstrāde tiek veikta, izmantojot Advanced User Interactions API . Tas satur darbības un darbības, kas nepieciešamas, izpildot šos notikumus. Šie ir visbiežāk izmantotie tastatūras un peles notikumi, ko nodrošina klases Actions.

Metode Apraksts
clickAndHold () Klikšķi (neatlaižot) pašreizējā peles atrašanās vietā.
contextClick () Veic konteksta klikšķi pašreizējā peles atrašanās vietā. (Ar peles labo pogu noklikšķiniet peles darbība)
dubultklikšķi() Veic dubultklikšķi pašreizējā peles atrašanās vietā.
dragAndDrop (avots, mērķis) Veic klikšķi un turēšanu avota elementa atrašanās vietā, pārvietojas uz mērķa elementa atrašanās vietu un pēc tam atlaiž peli. Parametri: avots - elements, lai atdarinātu pogu uz leju at.target - elements, lai pārietu uz peli un atlaidtu to.
dragAndDropBy (avots, x nobīde, y nobīde) Veic klikšķi un turēšanu avota elementa atrašanās vietā, pārvietojas pa doto nobīdi un pēc tam atlaiž peli. Parametri : avots - elements, kas līdzinās pogai uz leju. XOffset - horizontāla pārvietojuma nobīde. YOffset - vertikāla pārvietojuma nobīde.
keyDown (modifikatora_atslēga) Veic modifikatora taustiņa nospiešanu. Neatbrīvo modifikatora atslēgu - turpmākā mijiedarbība var pieņemt, ka tā tiek turēta nospiesta. Parametri : modifier_key - jebkura no modifikācijas atslēgām (Keys.ALT, Keys.SHIFT vai Keys.CONTROL)
keyUp (modifikators _key) Izpilda atslēgu. Parametri : modifier_key - jebkura no modifikācijas atslēgām (Keys.ALT, Keys.SHIFT vai Keys.CONTROL)
moveByOffset (x nobīde, y nobīde) Pārvieto peli no pašreizējās pozīcijas (vai 0,0) ar doto nobīdi. Parametri : x nobīde - horizontālā nobīde. Negatīva vērtība nozīmē peles pārvietošanu pa kreisi. Y-nobīde - vertikāla nobīde. Negatīva vērtība nozīmē peles pārvietošanu uz leju.
moveToElement (toElement) Pārvieto peli uz elementa vidu. Parametri : toElement - elements, uz kuru pāriet.
atbrīvot () Atbrīvo nospiesto peles kreiso pogu pašreizējā peles vietā
sendKeys (onElement, charsequence) Uz elementu nosūta virkni taustiņu. Parametri : onElement - elements, kas saņems taustiņsitienus, parasti teksta lauka sekas - jebkura virknes vērtība, kas apzīmē nosūtāmo taustiņsitienu secību

Šajā piemērā mēs izmantosim metodi moveToElement (), lai novietotu peles kursoru vienā Mercury Tours tabulas rindā. Skatiet piemēru zemāk.

Šūna, kas parādīta iepriekš, ir elementa daļa. Ja tas nav virzīts uz leju, tā krāsa ir # FFC455 (oranža). Pēc lidināšanas šūnas krāsa kļūst caurspīdīga. Tas kļūst tādā pašā krāsā kā visa oranžā galda zilais fons.

1. darbība: importējiet darbības un darbības klases.

2. darbība. Instantējiet jaunu objektu Actions.

3. darbība. Instantējiet darbību, izmantojot 2. darbības objektu Actions.

Šajā gadījumā mēs izmantosim metodi moveToElement (), jo mēs vienkārši virzāmies uz saites "Sākums". Metode build () vienmēr ir pēdējā izmantotā metode, lai visas uzskaitītās darbības tiktu apkopotas vienā solī.

4. solis: izmantojiet metodi perform (), izpildot darbības objektu, kuru izstrādājām 3. darbībā.

Zemāk ir viss WebDriver kods, lai pārbaudītu elementa fona krāsu pirms un pēc peles novirzīšanas.

pakete newproject;importa org.openqa.selenium. *;importēt org.openqa.selenium.firefox.FirefoxDriver;importēt org.openqa.selenium.interactions.Action;importēt org.openqa.selenium.interactions.Actions;publiskā klase PG7 {public static void main (String [] args) {Virknes bāzeUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");WebDriver draiveris = jauns FirefoxDriver ();draiveris.get (baseUrl);WebElement link_Home = driver.findElement (By.linkText ("Sākums"));WebElement td_Home = draiveris.findElement (Autors.xpath ("// html / body / div"+ "/ table / tbody / tr / td"+ "/ table / tbody / tr / td"+ "/ table / tbody / tr / td"+ "/ tabula / tbody / tr"));Darbību veidotājs = new Darbības (draiveris);Darbība mouseOverHome = celtnieks.moveToElement (link_Home).būvēt();Virkne bgColor = td_Home.getCssValue ("fona krāsa");System.out.println ("Pirms virziet kursoru: + bgColor);peleOverHome.perform ();bgColor = td_Home.getCssValue ("fona krāsa");System.out.println ("Pēc virzīšanas: + bgColor);vadītājs.slēgt ();}}

Zemāk redzamajā izvadā ir skaidri norādīts, ka fona krāsa kļuva pārskatāma pēc peles novirzīšanas.

Vairāku darbību sērijas veidošana

Izmantojot klases Darbības un Darbības, varat izveidot virkni darbību . Vienkārši atcerieties aizvērt sēriju ar build () metodi. Apsveriet tālāk redzamo koda paraugu.

public static void main (String [] args) {String baseUrl = "http://www.facebook.com/";WebDriver draiveris = jauns FirefoxDriver ();draiveris.get (baseUrl);WebElement txtUsername = draiveris.findElement (By.id ("e-pasts"));Darbību veidotājs = new Darbības (draiveris);Darbību sērijaOfActions = celtnieks.moveToElement (txtUsername).klikšķis().keyDown (txtUsername, Keys.SHIFT).sendKeys (txtUsername, "sveiki").keyUp (txtUsername, Keys.SHIFT).doubleClick (txtUsername).contextClick ().būvēt();seriesOfActions.perform ();}

Kopsavilkums

  • Īpašu tastatūras un peles notikumu apstrāde tiek veikta, izmantojot AdvancedUserInteractions API.
  • Bieži izmantotie atslēgvārdu un peles notikumi ir doubleClick (), keyUp, dragAndDropBy, contextClick & sendKeys.