selenium-webdriver
Robot In Selenium
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