Hiiren napsautus & Näppäimistötapahtuma: Toimintaluokka Selenium Webdriver -sovelluksessa

Sisällysluettelo:

Anonim

Tässä opetusohjelmassa opitaan näppäimistön ja hiiren tapahtumien käsittely Selenium Webdriver -sovelluksessa

Toimintaluokka seleenissä

Seleniumin Action Class on sisäänrakennettu ominaisuus, jonka selenium tarjoaa näppäimistön ja hiiren tapahtumien käsittelemiseksi. Se sisältää erilaisia ​​toimintoja, kuten useita tapahtumia napsauttamalla ohjauspainikkeella, vetämällä ja pudottamalla tapahtumia ja paljon muuta. Nämä toimintaluokan toiminnot suoritetaan käyttämällä Selenium Webdriverin edistynyttä käyttäjän vuorovaikutussovellusliittymää.

Näppäimistö- ja hiirtapahtumien käsittely

Erityisten näppäimistö- ja hiirtapahtumien käsittely tapahtuu Advanced User Interactions -sovellusliittymän avulla . Se sisältää toiminnot ja toimintaluokat , joita tarvitaan näiden tapahtumien suorittamiseen. Seuraavat ovat yleisimmin käytetyt näppäimistö- ja hiirtapahtumat, jotka tarjoaa Actions-luokka.

Menetelmä Kuvaus
clickAndHold () Napsautukset (vapauttamatta) hiiren nykyisessä paikassa.
contextClick () Suorittaa kontekstin napsautuksen hiiren nykyisessä paikassa. (Napsauta hiiren kakkospainikkeella)
tuplaklikkaus() Suorittaa kaksoisnapsautuksen hiiren nykyiseen sijaintiin.
dragAndDrop (lähde, kohde) Suorittaa napsautuksen ja pidon lähde-elementin kohdalla, siirtyy kohde-elementin sijaintiin ja vapauttaa sitten hiiren. Parametrit: lähde-elementti jäljitellä painiketta alaspäin. Kohde-elementti siirtyäksesi hiiren kohdalle ja vapauttamaan sen.
dragAndDropBy (lähde, x-offset, y-offset) Suorittaa napsautuksen ja pidon lähde-elementin kohdalla, liikkuu tietyn siirtymän verran ja vapauttaa sitten hiiren. Parametrit : lähde - elementti, jonka on jäljiteltävä painike alas. XOffset - vaakasuuntainen siirtymäsiirtymä. YOffset - pystysuuntainen siirtymäsiirto.
keyDown (muokkausavain) Suorittaa muokkausnäppäimen. Ei vapauta muokkausavainta - myöhemmissä vuorovaikutuksissa voidaan olettaa, että sitä pidetään painettuna. Parametrit : modifier_key - mikä tahansa muokkausnäppäimistä (Keys.ALT, Keys.SHIFT tai Keys.CONTROL)
keyUp (muokkausavain _key) Suorittaa avaimen. Parametrit : modifier_key - mikä tahansa muokkausnäppäimistä (Keys.ALT, Keys.SHIFT tai Keys.CONTROL)
moveByOffset (x-offset, y-offset) Siirtää hiiren nykyisestä sijainnistaan ​​(tai 0,0) annetulla siirtymällä. Parametrit : x-offset - vaakasuuntainen siirtymä. Negatiivinen arvo tarkoittaa hiiren siirtämistä vasemmalle. Y-offset - pystysuora siirtymä. Negatiivinen arvo tarkoittaa hiiren siirtämistä alaspäin.
moveToElement (toElement) Siirtää hiiren elementin keskelle. Parametrit : toElement-elementti, johon haluat siirtyä.
julkaisu () Vapauttaa painetun hiiren vasemman painikkeen hiiren nykyisessä paikassa
sendKeys (onElement, seuraus) Lähettää sarjan näppäilyjä elementille. Parametrit : onElement - elementti, joka vastaanottaa näppäilyt, yleensä tekstikentän seuraus - mikä tahansa merkkijonoarvo, joka edustaa lähetettävien näppäinten sarjaa

Seuraavassa esimerkissä käytämme moveToElement () -menetelmää hiiren osoittamiseen yhden Mercury Toursin taulukkorivillä. Katso alla oleva esimerkki.

Yllä esitetty solu on osa -elementtiä. Jos sitä ei leijuta, sen väri on # FFC455 (oranssi). Leijumisen jälkeen solun väri muuttuu läpinäkyväksi. Siitä tulee sama väri kuin koko oranssin pöydän sininen tausta.

Vaihe 1: Tuo Toiminnot ja Toimintoluokat .

Vaihe 2: Välitä uusi Actions-objekti.

Vaihe 3: Välitön toiminto käyttämällä vaiheessa 2 olevaa Toiminnot-objektia.

Tässä tapauksessa aiomme käyttää moveToElement () -menetelmää, koska yksinkertaisesti siirrymme hiiren osoittimen "Koti" -linkin päälle. Koontimenetelmä () on aina viimeinen käytetty menetelmä, jotta kaikki luetellut toiminnot kootaan yhdeksi vaiheeksi.

Vaihe 4: Käytä perform () -menetelmää suorittaessasi vaiheessa 3 suunnittelemamme Action-objekti.

Alla on koko WebDriver-koodi -elementin taustavärin tarkistamiseksi ennen ja jälkeen hiiren osoittimen.

paketti uusi projekti;tuonti org.openqa.selenium. *;tuo org.openqa.selenium.firefox.FirefoxDriver;tuo org.openqa.selenium.interactions.Action;Tuo org.openqa.selenium.interactions.Actions;julkinen luokka PG7 {public staattinen void main (String [] argumentoi) {Merkkijono baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");WebDriver-ohjain = uusi FirefoxDriver ();driver.get (baseUrl);WebElement link_Home = driver.findElement (By.linkText ("Koti"));WebElement td_Home = ohjain.findElement (Tekijä.xpath ("// html / body / div"+ "/ taulukko / tbody / tr / td"+ "/ taulukko / tbody / tr / td"+ "/ taulukko / tbody / tr / td"+ "/ taulukko / tbody / tr"));Actions builder = uusi Actions (ohjain);Toiminta mouseOverHome = rakentaja.moveToElement (link_Home).rakentaa();Merkkijono bgColor = td_Home.getCssValue ("taustaväri");System.out.println ("Ennen hiiren osoittamista: + bgColor);mouseOverHome.perform ();bgColor = td_Home.getCssValue ("taustaväri");System.out.println ("Leijuttamisen jälkeen: + bgColor);kuljettaja.sulje ();}}

Alla olevassa tuloksessa todetaan selvästi, että taustaväri muuttui läpinäkyväksi hiiren osoittamisen jälkeen.

Useiden toimintojen sarjan rakentaminen

Voit rakentaa sarjan toimintoja Toiminta- ja Toiminnot-luokkien avulla . Muista vain sulkea sarja build () -menetelmällä. Harkitse alla olevaa esimerkkikoodia.

public staattinen void main (String [] argumentoi) {Merkkijono baseUrl = "http://www.facebook.com/";WebDriver-ohjain = uusi FirefoxDriver ();driver.get (baseUrl);WebElement txtUsername = driver.findElement (By.id ("sähköposti"));Actions builder = uusi Actions (ohjain);Action seriesOfActions = rakennustyökalu.moveToElement (txtUsername).klikkaus().keyDown (txtUsername, Avaimet.SHIFT).sendKeys (txtUsername, "hei").keyUp (txtUsername, Avaimet.SHIFT).doubleClick (txtUsername).contextClick ().rakentaa();seriesOfActions.perform ();}

Yhteenveto

  • Erityisten näppäimistö- ja hiirtapahtumien käsittely tapahtuu AdvancedUserInteractions -sovellusliittymän avulla.
  • Usein käytetyt avainsana- ja hiiritapahtumat ovat doubleClick (), keyUp, dragAndDropBy, contextClick & sendKeys.