Akce Kliknutí a klávesnice myši: Třída akce v Selenium Webdriver

V tomto tutoriálu se naučíme ovládat událost klávesnice a myši v Selenium Webdriver

Třída akce v selenu

Třída akce v selenu je vestavěná funkce poskytovaná selenem pro zpracování událostí klávesnice a myši. Obsahuje různé operace, jako je kliknutí na více událostí pomocí ovládacího tlačítka, události drag and drop a mnoho dalších. Tyto operace ze třídy akcí se provádějí pomocí pokročilého rozhraní API pro interakci uživatelů v Selenium Webdriver.

Zpracování událostí s klávesnicí a myší

Zpracování speciálních událostí klávesnice a myši se provádí pomocí Advanced API pro uživatelské interakce . Obsahuje Akce a Akce třídy, které jsou potřeba při provádění těchto událostí. Následující jsou nejčastěji používané události klávesnice a myši poskytované třídou Actions.

Metoda Popis
clickAndHold () Kliknutí (bez uvolnění) v aktuálním umístění myši.
contextClick () Provede kontextové kliknutí na aktuální umístění myši. (Akce myši klepněte pravým tlačítkem myši)
dvojklik() Provede dvojité kliknutí na aktuální umístění myši.
dragAndDrop (zdroj, cíl) Provede kliknutí a podržení v místě zdrojového prvku, přesune se do umístění cílového prvku a poté uvolní myš.

Parametry:

source- element, který má emulovat tlačítko dolů.

target- element, do kterého se přesunete a uvolníte myš na.
dragAndDropBy (zdroj, x-offset, y-offset) Provede kliknutí a podržení v místě zdrojového prvku, pohybuje se o daný posun a poté uvolní myš.

Parametry :

source- element, který má emulovat tlačítko dolů.

xOffset- horizontální posunutí posunu.

yOffset- vertikální posunutí posunu.
keyDown (modifier_key) Provede stisknutí klávesy modifikátoru. Neuvolní modifikační klíč - následné interakce mohou předpokládat, že je stále stisknuto.

Parametry :

modifier_key - jakákoli z modifikačních kláves (Keys.ALT, Keys.SHIFT nebo Keys.CONTROL)
keyUp (modifikátor _key) Provede uvolnění klíče.

Parametry :

modifier_key - jakákoli z modifikačních kláves (Keys.ALT, Keys.SHIFT nebo Keys.CONTROL)
moveByOffset (x-offset, y-offset) Přesune myš z její aktuální polohy (nebo 0,0) o daný posun.

Parametry :

x-offset- horizontální offset. Záporná hodnota znamená pohyb myši doleva.

y-offset- vertikální offset. Záporná hodnota znamená pohyb myši dolů.
moveToElement (toElement) Přesune myš doprostřed prvku.

Parametry :

toElement- prvek, na který se má přesunout.
uvolnění() Uvolní stlačené levé tlačítko myši v aktuálním umístění myši
sendKeys (onElement, charsequence) Odešle na prvek sérii úhozů.

Parametry :

onElement - prvek, který bude přijímat stisknutí kláves, obvykle textové pole

charsequence - jakákoli hodnota řetězce představující posloupnost odeslaných kláves

V následujícím příkladu použijeme metodu moveToElement () k najetí myší na jeden řádek tabulky Mercury Tours. Viz příklad níže.

Buňka uvedená výše je částí aživel. Pokud není vznášen, jeho barva je #FFC455 (oranžová). Po najetí myší se barva buňky stane průhlednou. Stává se stejnou barvou jako modré pozadí celé oranžové tabulky.

Krok 1: Importujte soubor Akce a Akce třídy.

Krok 2: Vytvořte instanci nového objektu Actions.

Krok 3: Instanci akce pomocí objektu Akce v kroku 2.

V tomto případě použijeme metodu moveToElement (), protože jednoduše přejdeme myší na odkaz 'Domů'. Metoda build () je vždy poslední použitou metodou, takže všechny uvedené akce budou zkompilovány do jednoho kroku.

Krok 4: Při provádění objektu Action, který jsme navrhli v kroku 3, použijte metodu perform ().

Níže je uveden celý kód WebDriver pro kontrolu barvy pozadíprvek před a po najetí myší. | _+_ |

Níže uvedený výstup jasně uvádí, že barva pozadí se po najetí myší stala průhlednou.

Budování série více akcí

Můžete vytvořit řadu akcí pomocí tříd Action a Actions . Nezapomeňte uzavřít sérii metodou build (). Zvažte níže uvedený ukázkový kód.

 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 = 'https://demo.on2vhf.be/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(); } } 

souhrn

  • Zpracování speciálních událostí klávesnice a myši se provádí pomocí AdvancedUserInteractions API.
  • Často používané události klíčových slov a myší jsou doubleClick (), keyUp, dragAndDropBy, contextClick & sendKeys.