Поиск…


Синтаксис

  • delay (int ms)
  • keyPress (int keycode)
  • keyRelease (int keycode)
  • mouseMove (int x, int y)
  • mousePress (int buttons)
  • mouseRelease (int buttons)
  • mouseWheel (int wheelAmt)

параметры

параметр подробности
Миз Время спать в миллисекундах
ключевой код Константа для нажатия указанной клавиши, например, для нажатия кода A - это VK_A . Пожалуйста, обратитесь за дополнительной информацией: https://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html
х, у Координаты экрана
кнопки Маска кнопки; комбинация одной или нескольких масок кнопки мыши
wheelAmt Количество вырезов для перемещения колеса мыши, отрицательное значение для перемещения вверх / в сторону от положительного значения пользователя для перемещения вниз / по направлению к пользователю

замечания

В этом разделе содержится информация о реализации Robot API с Selenium Webdriver. Класс Robot используется для генерации собственного входа системы, когда селен не способен это сделать, например, нажав правую клавишу мыши, нажав клавишу F1 и т. Д.

Событие Keypress с использованием Robot API (JAVA)

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;

public class KeyBoardExample {
    public static void main(String[] args) {
        try {
            Robot robot = new Robot();
            robot.delay(3000);
            robot.keyPress(KeyEvent.VK_Q); //VK_Q for Q
        } catch (AWTException e) {
            e.printStackTrace();
        }
    }
}

С селеном

Иногда нам нужно нажать любую клавишу, чтобы проверить событие нажатия клавиши в веб-приложении. Для экземпляра, чтобы проверить ключ ENTER на форме входа, мы можем написать что-то вроде ниже с Selenium WebDriver

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;

public class LoginTest {
    
    @Test
    public void testEnterKey() throws InterruptedException
    {
        WebDriver driver=new FirefoxDriver();        
        Robot robot=null;        
        driver.get("test-url");
        driver.manage().window().maximize();
        driver.findElement(By.xpath("xpath-expression")).click();
        driver.findElement(By.xpath("xpath-expression")).sendKeys("username");
        driver.findElement(By.xpath("xpath-expression")).sendKeys("password");        
        try {
            robot=new Robot();
        } catch (AWTException e) {
            e.printStackTrace();
        }
        //Keyboard Activity Using Robot Class
        robot.keyPress(KeyEvent.VK_ENTER);
    }
}

Событие мыши с использованием Robot API (JAVA)

Движение мыши:

import java.awt.Robot;
 
public class MouseClass {
 public static void main(String[] args) throws Exception {
     Robot robot = new Robot();
 
     // SET THE MOUSE X Y POSITION
     robot.mouseMove(300, 550);
     }
}

Нажмите левую / правую кнопку мыши:

import java.awt.Robot;
import java.awt.event.InputEvent;

public class MouseEvent {
 public static void main(String[] args) throws Exception {
     Robot robot = new Robot();

     // LEFT CLICK
     robot.mousePress(InputEvent.BUTTON1_MASK);
     robot.mouseRelease(InputEvent.BUTTON1_MASK);

     // RIGHT CLICK
     robot.mousePress(InputEvent.BUTTON3_MASK);
     robot.mouseRelease(InputEvent.BUTTON3_MASK);
     }
}

Нажмите и прокрутите колесо:

import java.awt.Robot;
import java.awt.event.InputEvent;
 
public class MouseClass {
 public static void main(String[] args) throws Exception {
     Robot robot = new Robot();
 
     // MIDDLE WHEEL CLICK
     robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
     robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);
 
     // SCROLL THE MOUSE WHEEL
     robot.mouseWheel(-100);
     }
}


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow