java.awt 自动化测试

本文导读

  • java.awt包中提供了许多自动化测试的API,主要用于模拟用户按下键盘上的按键,或者模拟用户敲击鼠标等

按下键盘某个按键

/**
 * 模拟按下键盘单个按键,比如文档下一页:PgDn,上一页是PgUp *
 * @param keycode:按键的值,如:KeyEvent.VK_PAGE_UP
 */
public static final void pressSingleKeyByNumber(int keycode) {
    try {
        /** 创建自动化测试对象  */
        Robot robot = new Robot();
        /**按下按键*/
        robot.keyPress(keycode);
        /**松开按键*/
        robot.keyRelease(keycode);
        /**可以稍作延时处理*/
        robot.delay(500);
    } catch (AWTException e) {
        e.printStackTrace();
    }
}

按下组合键

/**
 * 模拟按下键盘的"Ctrl+*",比如文档起始位置:Ctrl+Home,结束位置:Ctrl+End
 * 注意:Ctrl键是:KeyEvent.VK_CONTROL
 *
 * @param keycode:按键的值,End:KeyEvent.VK_ENDHome键:KeyEvent.VK_HOME
 */
public static final void pressCtrlAndSingleKeyByNumber(int keycode) {
    try {
        Robot robot = new Robot();
        robot.keyPress(KeyEvent.VK_CONTROL);
        robot.keyPress(keycode);
        robot.keyRelease(keycode);
        robot.keyRelease(KeyEvent.VK_CONTROL);
        robot.delay(100);
    } catch (AWTException e) {
        e.printStackTrace();
    }
}

模拟鼠标单击

/**
 * 模拟用户单击屏幕指定区域,默认单击屏幕最中央
 *
 * @param xx坐标
 * @param yy坐标
 */
public static final void clickScreenByXY(Integer x, Integer y) {
    try {
        /**创建工具包对象*/
        Toolkit toolkit = Toolkit.getDefaultToolkit();
        /**创建自动化对象*/
        Robot robot = new Robot();
        /**利用工具包对象获取屏幕分辨率*/
        if (x == null) {
            x = toolkit.getScreenSize().width / 2;
        }
        if (y == null) {
            y = toolkit.getScreenSize().height / 2;
        }
        /**
         * 移动鼠标到指定位置
         * 然后按下鼠标左键,再松开,模拟单击操作
         */
        robot.mouseMove(x, y);
        robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
        robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
        robot.delay(100);
    } catch (AWTException e) {
        e.printStackTrace();
    }
}





猜你喜欢

转载自blog.csdn.net/wangmx1993328/article/details/80785101
今日推荐