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
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
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.