サーチ…


構文

  • 遅延(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