Щракване с мишка & Събитие на клавиатурата: Клас на действие в Selenium Webdriver

Съдържание:

Anonim

В този урок ще се научим да работим със събитие за клавиатура и мишка в Selenium Webdriver

Екшън клас в селен

Action Class в Selenium е вградена функция, предоставена от селена за обработка на събития от клавиатурата и мишката. Той включва различни операции като кликване на множество събития чрез контролен бутон, събития с плъзгане и пускане и много други. Тези операции от класа на действията се извършват с помощта на разширения API за взаимодействие с потребителя в Selenium Webdriver.

Работа със събития с клавиатура и мишка

Обработката на специални събития от клавиатурата и мишката се извършва с помощта на API за разширено взаимодействие на потребителите . Той съдържа действията и класовете Action , които са необходими при изпълнението на тези събития. По-долу са най-често използваните събития от клавиатурата и мишката, предоставени от класа Action.

Метод Описание
clickAndHold () Кликвания (без освобождаване) в текущото местоположение на мишката.
contextClick () Извършва контекстно щракване в текущото местоположение на мишката. (Щракнете с десния бутон на мишката)
кликнете два пъти() Извършва двукратно щракване върху текущото местоположение на мишката.
dragAndDrop (източник, цел) Извършва щракване и задържане в местоположението на изходния елемент, придвижва се до местоположението на целевия елемент, след което освобождава мишката. Параметри: изходен елемент за емулиране на бутона надолу при
dragAndDropBy (източник, x-offset, y-offset) Извършва щракване и задържане в местоположението на изходния елемент, премества се с дадено отместване, след което освобождава мишката. Параметри : източник - елемент за емулиране на бутон надолу при. XOffset - отместване на хоризонтално преместване.
keyDown (ключ-модификатор) Извършва натискане на клавиш-модификатор. Не освобождава модификаторния клавиш - последващите взаимодействия може да приемат, че са държани натиснати. Параметри : modifier_key - всеки от модифициращите клавиши (Keys.ALT, Keys.SHIFT или Keys.CONTROL)
keyUp (модификатор _key) Извършва освобождаване на клавиш. Параметри : modifier_key - всеки от модифициращите клавиши (Keys.ALT, Keys.SHIFT или Keys.CONTROL)
moveByOffset (x-offset, y-offset) Премества мишката от текущото й положение (или 0,0) от даденото отместване. Параметри : x-offset - хоризонтално отместване. Отрицателна стойност означава преместване на мишката наляво. Y-offset - вертикално отместване. Отрицателна стойност означава преместване на мишката надолу.
moveToElement (toElement) Премества мишката в средата на елемента. Параметри : toElement- елемент, към който да се придвижите.
освобождаване () Освобождава натиснатия ляв бутон на мишката в текущото местоположение на мишката
sendKeys (onElement, charsequence) Изпраща поредица от клавиши върху елемента. Параметри : onElement - елемент, който ще получи натисканията на клавишите, обикновено текстово поле charsequence - всяка стойност на низа, представляваща последователността на натисканията на клавишите, които трябва да бъдат изпратени

В следващия пример ще използваме метода moveToElement () за преместване с мишката върху редовете на таблицата на Mercury Tours. Вижте примера по-долу.

Показаната по-горе клетка е част от елемент . Ако не е задържан, цветът му е # FFC455 (оранжев). След зависване цветът на клетката става прозрачен. Става същия цвят като синия фон на цялата оранжева маса.

Етап 1: внос на действия и действие класове.

Стъпка 2: Инстанцирайте нов обект Действия.

Стъпка 3: Инстанцирайте действие, като използвате обекта Action в стъпка 2.

В този случай ще използваме метода moveToElement (), защото просто ще преминем с мишката върху връзката "Начало". Методът build () винаги е крайният използван метод, така че всички изброени действия ще бъдат компилирани в една стъпка.

Стъпка 4: Използвайте метода perform (), когато изпълнявате обекта Action, проектиран в Стъпка 3.

По-долу е даден целият код на WebDriver, за да проверите цвета на фона на елемента преди и след преминаването на мишката.

пакет новпроект;внос org.openqa.selenium. *;импортиране на org.openqa.selenium.firefox.FirefoxDriver;внос org.openqa.selenium.interactions.Action;внос org.openqa.selenium.interactions.Actions;публичен клас PG7 {публична статична void main (String [] args) {String baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");Драйвер за WebDriver = нов FirefoxDriver ();driver.get (baseUrl);WebElement link_Home = driver.findElement (By.linkText ("Начало"));WebElement td_Home = драйвер.findElement (От.xpath ("// html / body / div"+ "/ table / tbody / tr / td"+ "/ table / tbody / tr / td"+ "/ table / tbody / tr / td"+ "/ таблица / tbody / tr"));Конструктор на действия = нови действия (драйвер);Действие mouseOverHome = строител.moveToElement (link_Home).build ();Низ bgColor = td_Home.getCssValue ("цвят на фона");System.out.println ("Преди нанасяне на курсора: + bgColor);mouseOverHome.perform ();bgColor = td_Home.getCssValue ("цвят на фона");System.out.println ("След задържане: + bgColor);driver.close ();}}

Резултатът по-долу ясно посочва, че цветът на фона е станал прозрачен след преминаване с мишката.

Изграждане на поредица от множество действия

Можете да изградите поредица от действия, като използвате класовете Action и Action . Само не забравяйте да затворите поредицата с метода build (). Помислете за примерния код по-долу.

публична статична void main (String [] args) {String baseUrl = "http://www.facebook.com/";Драйвер за WebDriver = нов FirefoxDriver ();driver.get (baseUrl);WebElement txtUsername = driver.findElement (By.id ("имейл"));Конструктор на действия = нови действия (драйвер);Action seriesOfActions = строител.moveToElement (txtUsername).click ().keyDown (txtUsername, Keys.SHIFT).sendKeys (txtUsername, "здравей").keyUp (txtUsername, Keys.SHIFT).doubleClick (txtUsername).contextClick ().build ();seriesOfActions.perform ();}

Обобщение

  • Работата със специални събития от клавиатурата и мишката се извършва с помощта на API на AdvancedUserInteractions.
  • Често използвани събития за ключови думи и мишки са doubleClick (), keyUp, dragAndDropBy, contextClick & sendKeys.