Toimintaluokka sisään Selenium – Hiiren napsautus ja näppäimistötapahtumat

Tässä opetusohjelmassa opimme käsittelemään näppäimistön ja hiiren tapahtumia Selenium Web-ohjain

Toimintaluokka sisään Selenium

Toimintaluokka sisään Selenium on seleenin tarjoama sisäänrakennettu ominaisuus näppäimistön ja hiiren tapahtumien käsittelyyn. Se sisältää erilaisia ​​toimintoja, kuten useita tapahtumia, jotka napsautetaan ohjausnäppäimellä, vedä ja pudota -tapahtumat ja paljon muuta. Nämä toimintoluokan toiminnot suoritetaan käyttämällä edistyneen käyttäjän vuorovaikutuksen sovellusliittymää Selenium Web-ajuri.

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

Erikoisnäppäimistön ja hiiren tapahtumien käsittely tapahtuu käyttämällä Advanced User Interactions API. Se sisältää Toiminnot ja Toiminta luokat, joita tarvitaan näiden tapahtumien suorittamisessa. Seuraavat ovat yleisimmin käytetyt Actions-luokan tarjoamat näppäimistö- ja hiiritapahtumat.

Menetelmä Tuotetiedot
clickAndHold() Napsautukset (vapauttamatta) hiiren nykyisessä sijainnissa.
kontekstiClick() Suorittaa kontekstinapsautuksen hiiren nykyisessä sijainnissa. (Klikkaa hiiren oikealla painikkeella)
doubleClick() Suorittaa kaksoisnapsautuksen hiiren nykyisessä paikassa.
vedäAndDrop(lähde, kohde) Suorittaa napsauttamalla ja pitämällä lähdeelementin sijainnissa, siirtyy kohdeelementin sijaintiin ja vapauttaa sitten hiiren.

parametrit:

lähde-elementti, jolla emuloidaan painike alas.

kohde-elementti, johon siirryt ja josta hiiren vapautat.

dragAndDropBy(lähde, x-offset, y-offset) Suorittaa napsauttamalla ja pitämällä lähdeelementin sijainnissa, liikkuu tietyn siirtymän verran ja vapauttaa sitten hiiren.

parametrit:

lähde-elementti, jolla emuloidaan painike alas.

xOffset- vaakasuora siirtopoikkeama.

yOffset- pystysuuntainen siirtopoikkeama.

keyDown(muokkausavain) Suorittaa muokkausnäppäimen painalluksen. Ei vapauta muokkausnäppäintä – myöhemmät vuorovaikutukset voivat olettaa, että sitä pidetään painettuna.

parametrit:

modifier_key – mikä tahansa muokkausnäppäin (Keys.ALT, Keys.SHIFT tai Keys.CONTROL)

keyUp(muokkaus _avain) Suorittaa avaimen vapautuksen.

parametrit:

modifier_key – mikä tahansa muokkausnäppäin (Keys.ALT, Keys.SHIFT tai Keys.CONTROL)

moveByOffset(x-offset, y-offset) Siirtää hiirtä sen nykyisestä paikasta (tai 0,0) annetun siirtymän verran.

parametrit:

x-offset- vaakasuuntainen siirtymä. Negatiivinen arvo tarkoittaa hiiren siirtämistä vasemmalle.

y-offset- pystypoikkeama. Negatiivinen arvo tarkoittaa hiiren liikuttamista alaspäin.

siirrä elementtiin (elementtiin) Siirtää hiiren elementin keskelle.

parametrit:

toElement- elementti, johon siirretään.

vapauttaa () Vapauttaa painetun hiiren vasemman painikkeen hiiren nykyisessä sijainnissa
sendKeys(onElement, merkkisekvenssi) Lähettää sarjan näppäinpainalluksia elementtiin.

parametrit:

onElement – ​​elementti, joka vastaanottaa näppäinpainallukset, yleensä tekstikenttä

charsequence – mikä tahansa merkkijonoarvo, joka edustaa lähetettävien näppäinpainallusten sarjaa

Seuraavassa esimerkissä käytämme metodia moveToElement() viemään hiiren osoitin yhden päälle Mercury Toursin pöytärivit. Katso alla oleva esimerkki.

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

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

Vaihe 1) Tuo Toiminnot ja Toiminta luokat.

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

Vaihe 2) Luo uusi Actions-objekti.

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

Vaihe 3) Toteuta toiminto Actions-objektin avulla vaiheessa 2.

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

Tässä tapauksessa aiomme käyttää moveToElement() -menetelmää, koska viemme hiiren yksinkertaisesti "Home" -linkin päälle. Build()-menetelmä on aina viimeinen käytetty menetelmä, jotta kaikki luetellut toiminnot kootaan yhteen vaiheeseen.

Vaihe 4) Käytä perform()-menetelmää, kun suoritat vaiheessa 3 suunnittelemamme Action-objektin.

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

Alla on koko WebDriver-koodi, jolla voit tarkistaa taustavärin elementti ennen ja jälkeen hiiren osoitinta.

package newproject;

import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;

public class PG7 {
    
    public static void main(String[] args) {
        String baseUrl = "http://demo.guru99.com/test/newtours/";
        System.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe");
                WebDriver driver = new FirefoxDriver();

                driver.get(baseUrl);           
                WebElement link_Home = driver.findElement(By.linkText("Home"));
                WebElement td_Home = driver
                        .findElement(By
                        .xpath("//html/body/div"
                        + "/table/tbody/tr/td"
                        + "/table/tbody/tr/td"
                        + "/table/tbody/tr/td"
                        + "/table/tbody/tr"));    
                 
                Actions builder = new Actions(driver);
                Action mouseOverHome = builder
                        .moveToElement(link_Home)
                        .build();
                 
                String bgColor = td_Home.getCssValue("background-color");
                System.out.println("Before hover: " + bgColor);        
                mouseOverHome.perform();        
                bgColor = td_Home.getCssValue("background-color");
                System.out.println("After hover: " + bgColor);
                driver.close();
        }
}

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

Toimintaluokka sisään Selenium

Useiden toimien sarjan rakentaminen

Voit rakentaa sarjan toimintoja käyttämällä Action- ja Actions-luokkia. Muista vain sulkea sarja build()-menetelmällä. Harkitse alla olevaa esimerkkikoodia.

Useiden toimien sarjan rakentaminen

public static void main(String[] args) {
String baseUrl = "http://www.facebook.com/"; 
WebDriver driver = new FirefoxDriver();

driver.get(baseUrl);
WebElement txtUsername = driver.findElement(By.id("email"));

Actions builder = new Actions(driver);
Action seriesOfActions = builder
	.moveToElement(txtUsername)
	.click()
	.keyDown(txtUsername, Keys.SHIFT)
	.sendKeys(txtUsername, "hello")
	.keyUp(txtUsername, Keys.SHIFT)
	.doubleClick(txtUsername)
	.contextClick()
	.build();
	
seriesOfActions.perform() ;

}

Useiden toimien sarjan rakentaminen

Yhteenveto

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