selenium测试用RobotUtils

来源:互联网 发布:ubuntu浏览器无法上网 编辑:程序博客网 时间:2024/05/16 05:41
package com.util;import java.awt.AWTException;import java.awt.Point;import java.awt.Robot;import java.awt.event.InputEvent;import java.awt.event.KeyEvent;public class RobotUtils {private static Robot robot = null;static {try {robot = new Robot();robot.setAutoDelay(50);} catch (AWTException e) {e.printStackTrace();}}public static void pressKeyByStr(String str) {for (int i = 0; i < str.length(); i++) {// System.out.println((int)str.charAt(i));writeString(str.charAt(i));}}public static void writeString(char c) {if (c == ':') {robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_SEMICOLON);robot.keyRelease(KeyEvent.VK_SEMICOLON);robot.keyRelease(KeyEvent.VK_SHIFT);return;}if (Character.isUpperCase(c)) {robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(Character.toUpperCase(c));robot.keyRelease(Character.toUpperCase(c));robot.keyRelease(KeyEvent.VK_SHIFT);} else {// 大写字母的ASCII码正对应该字母的键盘Keycoderobot.keyPress(Character.toUpperCase(c));robot.keyRelease(Character.toUpperCase(c));}}public static void winRun() {robot.keyPress(KeyEvent.VK_WINDOWS);robot.keyPress(KeyEvent.VK_R);robot.keyRelease(KeyEvent.VK_R);robot.keyRelease(KeyEvent.VK_WINDOWS);}public static void cmd() {winRun();pressKeyByStr("cmd");submit();}public static void sleep(int sec) {robot.delay(sec);}public static void ie() {winRun();pressKeyByStr("iexplore");submit();}public static void submit() {robot.keyPress(KeyEvent.VK_ENTER);robot.keyRelease(KeyEvent.VK_ENTER);}public static void pressSpaceBar() {robot.keyPress(KeyEvent.VK_SPACE);robot.keyRelease(KeyEvent.VK_SPACE);}public static void moveMouseTo(int x, int y) {robot.mouseMove(x, y);}public static void moveMouseTo(Point finish) {moveMouseTo(finish.x, finish.y);}public static void click(int x, int y) {moveMouseTo(x, y);click();}public static void click(Point finish) {click(finish.x, finish.y);}public static void DBclick(int x, int y) {moveMouseTo(x, y);click();click();}public static void DBclick(Point finish) {DBclick(finish.x, finish.y);}public static void click() {robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);}public static void DBclick() {click();click();}}

原创粉丝点击