Java >> Java tutorial >  >> Java

Eksempel på Selen-tastaturbegivenheder

1. Introduktion

I denne tutorial vil vi diskutere om Advance User Interactions API. Ved at bruge disse API'er kan vi udføre handlinger på en webside, der ligner en bruger ville interagere med brugeren ved hjælp af tastatur og mus.








Actions-grænsefladen og Action-klasserne er to moduler i API'et, der skal implementeres for at gøre brug af tastatur- og musehændelser som træk og slip eller valg af flere elementer med kontroltasten.

2. Handlingsgrænseflade og Actions Class

Actions-klassen implementerer Action-grænsefladen. Handlingsgrænseflade kun én metode: perform() . Handlingsmetoden henter argumenterne som konstruktør og derefter afgør implementeringsklassen, hvilken interaktion der skal udføres på websiden. For eksempel at finde et element, sende nøgler ved hjælp af sendkeys og fremhæve det.

Vi kan implementere handlingshandlingsmetoder ved at importere org.openqa.selenium.interactions.Actions og org.openqa.selenium.interactions.Action

Konfigurer det derefter ved at oprette et objekt af klassen Actions som nedenfor:
Actions build = new Actions(driver);
Build.moveToELement(toElement).click().perform();

3. Tilgængelige handlinger for tastatur- og mushændelser

  • ButtonReleaseAction – Slip nedtrykt museknap.
  • ClickAction – klikker på et element, der ligner WebElement.click().
  • ClickAndHoldAction – holder venstre museknap nede.
  • ContextClickAction – svarende til at klikke på kontekstmenuen på højre knap
  • DoubleClickAction – ligner dobbeltklik.
  • KeyDownAction – svarende til at holde modifikatortaster som tab, shift og kontrol
  • KeyUpAction – frigiver modifikationstaster.
  • MoveMouseAction – ligner at flytte musen fra den nuværende placering til en anden.
  • MoveToOffsetAction – flytter musen fra et sted til et andet ved hjælp af x og y offset.
  • SendKeysAction – ligner WebElement.sendKey() for at sende nøgler i form af en sekvens af tegn.

For at opnå forskellige operationer, der udføres af handlingsklasser, kan vi implementere de tilgængelige metoder til tastatur- og musgrænseflader.

3.1 Metoder til tastaturgrænseflade:

  1. sendKeys(onElement, charSequence) – send nøgler til browseren på samme måde som en bruger ville gøre ved at bruge tastaturet. Nøgler sendes i form af sekvens af tegn.
  2. pressKeys() – bruges til at sende specielle taster på tastaturet som "f1", "shift", "tab" osv.
  3. releaseKey() – frigiver tasten på tastaturet og trykker på tasterne.

KeyboardsEvents.java

package com.javacodegeeks.SeleniumKeyboardEvents;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;

public class KeyboardEvents {
	
public static void main(String[] args) {
	 
	     String exePath = "/Users/saraddhungel/Downloads/chromedriver";
	     System.setProperty("webdriver.chrome.driver", exePath);
         WebDriver driver = new ChromeDriver();
	     driver.get("http://www.google.com/");

		 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
		
		 WebElement text = driver.findElement(By.name("q"));
		
		 Actions make  = new Actions(driver);
		
		 Action kbEvents = make.keyDown(text, Keys.SHIFT).sendKeys("Java Code Geeks")
	    .keyUp(text, Keys.SHIFT).doubleClick().contextClick().build();
		kbEvents.perform();
}
}

Nøgleordet "Java Code Geeks" sendes til søgefeltet på Google-webstedet. Således ændres det til STORE BOGSTAVER med KeyDown() metode og doubleClick() metode dobbeltklikker på den for at fremhæve teksten og contextClick() gør tilfælde af dobbeltklik på teksten og dermed vises kontekstmenuen.

4. Konklusion

Dette eksempelsæt var en demonstration af Advance User Interactions API, der er tilgængelig i Selenium WebDriver, og hvordan vi kan bruge dem til at gøre brug af tastatur- og mus-begivenheder på nettet, der ligner brugerens interaktion med internettet.

5. Download Eclipse Project

Dette var et eksempel på Selenium Keyboard Event

Java tag