selenium-webdriver
セレンのロボット
サーチ…
構文
- 遅延(int ms)
- keyPress(int keycode)
- keyRelease(int keycode)
- mouseMove(int x、int y)
- mousePress(intボタン)
- mouseRelease(intボタン)
- mouseWheel(int wheelAmt)
パラメーター
パラメータ | 詳細 |
---|---|
ミズ | ミリ秒単位でスリープする時間 |
キーコード | 指定されたキーを押してA コードを押すなどの定数はVK_A です。詳細はhttps://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.htmlを参照してください。 |
x、y | スクリーンコーディネート |
ボタン | Buttonマスク。 1つまたは複数のマウスボタンマスクの組み合わせ |
wheelAmt | マウスホイールを移動するためのノッチの数、ユーザーに向かって上/下に移動するための負の値 |
備考
このセクションでは、Selenium Webdriverを使用したRobot APIの実装について詳しく説明します。 Robotクラスは、セレンがマウスの右キーを押す、F1キーを押すなどの操作を行うことができない場合にネイティブシステム入力を生成するために使用されます。
ロボットAPI(JAVA)を使用したKeypressイベント
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();
}
}
}
セレニウム
Webアプリケーションでキープレスイベントをテストするために、任意のキーを押す必要があることがあります。ログインフォームの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);
}
}
ロボット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