Hiireklõps & Klaviatuuri sündmus: tegevusklass seleeni veebidraiveris

Lang L: none (table-of-contents):

Anonim

Selles õpetuses õpime käsitsema klaviatuuri ja hiire sündmust Seleeni veebidraiveris

Tegevusklass seleenis

Seleeni Action Class on seleeni sisseehitatud funktsioon klaviatuuri ja hiire sündmuste haldamiseks. See sisaldab erinevaid toiminguid, nagu mitu juhtimisklahvi abil klõpsamist, sündmuste lohistamist ja palju muud. Need toiminguklassist toimingud tehakse Seleniumi veebidraiveri täpsema kasutajate interaktsiooni API abil.

Klaviatuuri ja hiire sündmuste haldamine

Spetsiaalsete klaviatuuri ja hiire sündmuste haldamine toimub Advanced User Interactions API abil . See sisaldab toiminguid ja toiminguid, mida on vaja nende sündmuste käivitamisel. Allpool on kõige sagedamini kasutatavad klaviatuuri ja hiire sündmused, mille pakub klass Actions.

Meetod Kirjeldus
clickAndHold () Klõpsud (vabastamata) hiire praeguses asukohas.
contextClick () Teeb kontekstklõpsu hiire praeguses asukohas. (Paremklõps hiirega)
topeltklõps() Teeb topeltklõpsu praeguses hiire asukohas.
dragAndDrop (allikas, sihtmärk) Teeb klõpsamise ja allhoidmise allikaelemendi asukohas, liigub sihtelemendi asukohta ja vabastab seejärel hiire. Parameetrid: allikas - element, et jäljendada nuppu all. Target - element, et liikuda hiire juurde ja vabastada.
dragAndDropBy (allikas, x-nihe, y-nihe) Teeb klõpsamise ja allhoidmise allikaelemendi asukohas, liigub etteantud nihke võrra ja vabastab seejärel hiire. Parameetrid : allikas - element, mida nupp jäljendada allapoole. XOffset - horisontaalse nihke nihe. YOffset - vertikaalse nihke nihe.
keyDown (modifier_key) Vajutab muutmisklahvi. Ei vabasta muutmisklahvi - järgnevad suhtlemised võivad eeldada, et seda hoitakse all. Parameetrid : modifier_key - ükskõik milline muutmisklahv (Klahvid.ALT, Klahvid.SHIFT või Klahvid.KONTROLL)
keyUp (modifikaator _key) Teeb võtme vabastamise. Parameetrid : modifier_key - ükskõik milline muutmisklahv (Klahvid.ALT, Klahvid.SHIFT või Klahvid.KONTROLL)
moveByOffset (x-nihe, y-nihe) Liigutab hiirt praeguse positsiooni (või 0,0) antud nihke võrra. Parameetrid : x-nihe - horisontaalne nihe. Negatiivne väärtus tähendab hiire liigutamist vasakule. Y-nihe - vertikaalne nihe. Negatiivne väärtus tähendab hiire allapoole liikumist.
moveToElement (toElement) Liigutab hiire elemendi keskele. Parameetrid : toElement - element, kuhu liikuda.
vabastama () Vabastab hiire vasakus nupus hiire praeguse asukoha
sendKeys (onElement, tagajärg) Saadab elemendile rea klahvivajutusi. Parameetrid : onElement - element, mis saab klahvivajutused, tavaliselt tekstivälja tagajärg - mis tahes stringiväärtus, mis tähistab saadetavate klahvivajutuste jada

Järgmises näites kasutame meetodit moveToElement (), et viia kursor Mercury Toursi ühe tabelirea peale. Vaadake allpool toodud näidet.

Eespool näidatud lahter on osa elemendist . Kui seda ei hõljutata, on selle värv # FFC455 (oranž). Pärast hõljumist muutub lahtri värv läbipaistvaks. See saab sama värvi kui kogu oranži laua sinine taust.

1. samm: importige toimingud ja toiminguklassid .

2. samm: käivitage uus toimingu objekt.

3. samm: käivitage toiming, kasutades 2. toimingu objekti Actions.

Sellisel juhul hakkame kasutama meetodit moveToElement (), kuna läheme lihtsalt hiirega üle lingi "Kodu". Build () meetod on alati viimane kasutatud meetod, nii et kõik loetletud toimingud koondatakse ühte sammu.

4. samm: kasutage 3. etapis kavandatud toiminguobjekti käivitamisel meetodit perform ().

Allpool on kogu WebDriveri kood, et kontrollida elemendi taustavärvi enne ja pärast hiirekursorit.

pakett uusprojekt;import org.openqa.selenium. *;import org.openqa.selenium.firefox.FirefoxDriver;importida org.openqa.selenium.interactions.Action;importida org.openqa.selenium.interactions.Actions;avalik klass PG7 {public staatiline void main (String [] args) {String baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");WebDriveri draiver = uus FirefoxDriver ();draiver.get (baseUrl);WebElement link_Home = driver.findElement (By.linkText ("Kodu"));WebElement td_Home = draiver.findElement (Autor.xpath ("// html / body / div"+ "/ table / tbody / tr / td"+ "/ table / tbody / tr / td"+ "/ table / tbody / tr / td"+ "/ table / tbody / tr"));Toimingute koostaja = new Toimingud (draiver);Action mouseOverHome = ehitaja.moveToElement (link_Home).ehitama ();String bgColor = td_Home.getCssValue ("taustavärv");System.out.println ("Enne hõljumist: + bgColor);mouseOverHome.perform ();bgColor = td_Home.getCssValue ("taustavärv");System.out.println ("Pärast hõljutamist: + bgColor);juht.sule ();}}

Allpool olevas väljundis on selgelt öeldud, et taustavärv muutus pärast hiirega liikumist läbipaistvaks.

Mitme toimingu seeria ehitamine

Klasside Toiming ja Toimingud abil saate üles ehitada rea ​​toiminguid . Ärge unustage lihtsalt seeria sulgeda meetodiga build (). Mõelge allpool toodud näidiskoodile.

public staatiline void main (String [] args) {String baseUrl = "http://www.facebook.com/";WebDriveri draiver = uus FirefoxDriver ();draiver.get (baseUrl);WebElement txtUsername = draiver.findElement (By.id ("e-post"));Toimingute koostaja = new Toimingud (draiver);Action seriesOfActions = ehitaja.moveToElement (txtUsername).klõpsake ().keyDown (txtUsername, võtmed.SHIFT).sendKeys (txtUsername, "tere").keyUp (txtUsername, võtmed.SHIFT).doubleClick (txtUsername).contextClick ().ehitama ();seriesOfActions.perform ();}

Kokkuvõte

  • Spetsiaalsete klaviatuuri ja hiire sündmuste haldamine toimub AdvancedUserInteractions API abil.
  • Sageli kasutatavad märksõna ja hiire sündmused on doubleClick (), keyUp, dragAndDropBy, contextClick & sendKeys.