Zoeken…


Syntaxis

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

parameters

Parameter Details
Mevrouw Tijd om te slapen in milliseconden
sleutelcode Constant om op de opgegeven toets te drukken, bijvoorbeeld om op te drukken A code is VK_A . Raadpleeg voor meer informatie: https://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html
x, y Schermcoördinaten
toetsen Het knopmasker; een combinatie van een of meer muisknopmaskers
wheelAmt Aantal inkepingen om muiswiel te verplaatsen, negatieve waarde om omhoog / weg te gaan van gebruiker positieve waarde om omlaag / naar gebruiker te gaan

Opmerkingen

Deze sectie bevat details over de implementatie van Robot API met Selenium Webdriver. De robotklasse wordt gebruikt om native systeeminvoer te genereren wanneer selenium niet in staat is om dat te doen, bijvoorbeeld door op de rechter muisknop te drukken, op F1-toets enz.

Keypress-gebeurtenis met behulp van 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();
        }
    }
}

Met Selenium

Soms moeten we op een willekeurige toets drukken om de toetsdrukgebeurtenis in een webtoepassing te testen. Om bijvoorbeeld de ENTER-toets op het inlogformulier te testen, kunnen we iets schrijven zoals hieronder met 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);
    }
}

Mouse Event met behulp van Robot API (JAVA)

Muis beweging:

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

Druk op de linker / rechter muisknop:

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

Klik en blader met het wiel:

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow