selenium-webdriver
Робот в селене
Поиск…
Синтаксис
- 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