Recherche…


Syntaxe

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

Paramètres

Paramètre Détails
Mme Il est temps de dormir en millisecondes
code clé Constante pour appuyer sur la touche spécifiée par exemple pour appuyer sur A code est VK_A . Veuillez vous référer pour plus de détails: https://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html
x, y Coordonnées de l'écran
boutons Le masque de bouton; une combinaison d'un ou plusieurs masques de bouton de souris
WheelAmt Nombre d'encoches pour déplacer la molette de la souris, valeur négative pour monter / descendre de la valeur positive de l'utilisateur pour descendre / vers l'utilisateur

Remarques

Cette section contient des détails sur l'implémentation de l'API Robot avec Selenium Webdriver. La classe Robot est utilisée pour générer une entrée système native lorsque le sélénium n'est pas capable de le faire, par exemple en appuyant sur la touche droite de la souris, en appuyant sur la touche F1, etc.

Evénement Keypress utilisant l'API Robot (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();
        }
    }
}

Avec sélénium

Parfois, nous devons appuyer sur une touche pour tester l'événement de presse clé sur une application Web. Pour qu'une instance teste la touche ENTRÉE sur le formulaire de connexion, nous pouvons écrire quelque chose comme ci-dessous avec 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);
    }
}

Evénement Souris utilisant l'API Robot (JAVA)

Mouvement de la souris:

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);
     }
}

Appuyez sur le bouton gauche / droit de la souris:

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);
     }
}

Cliquez et faites défiler la roue:

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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow