selenium-webdriver
Robot i selen
Sök…
Syntax
- fördröjning (int ms)
- keyPress (int keycode)
- keyRelease (int keycode)
- musMove (int x, int y)
- musPress (int-knappar)
- mouseRelease (int-knappar)
- mouseWheel (int wheelAmt)
parametrar
Parameter | detaljer |
---|---|
Fröken | Tid att sova i millisekunder |
nyckelkod | Konstant att trycka på den angivna tangenten till exempel för att trycka på A kod är VK_A . Se mer information: https://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html |
x, y | Skärmkoordinater |
knappar | Knappmask; en kombination av en eller flera musknappmasker |
wheelAmt | Antal hack för att flytta mushjulet, negativt värde för att flytta upp / bort från användarens positiva värde för att flytta nedåt / mot användaren |
Anmärkningar
Det här avsnittet innehåller detaljer om implementering av Robot API med Selenium Webdriver. Robotklassen används för att generera inbyggd systemingång när selen inte kan göra det, till exempel genom att trycka på höger musknapp, trycka på F1-tangenten etc.
Keypress-händelse med hjälp av 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();
}
}
}
Med selen
Ibland måste vi trycka på valfri knapp för att testa nyckelpresshändelsen i webbapplikationen. För en instans för att testa ENTER-tangenten på inloggningsformuläret kan vi skriva något liknande nedan med 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);
}
}
Mushändelse med hjälp av robot API (JAVA)
Musrörelse:
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);
}
}
Tryck på vänster / höger musknapp:
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);
}
}
Klicka och bläddra i hjulet:
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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow