Java實現自動化_Robot類簡單應用
/** * Robot類 : * * exec 函數聲明: * public Process exec (String command) throws IOException ,參數及功能說明: * command: 一條指定的系統命令 * 功能:在單獨的進程中執行指定的字符串命令 * * keyPress 函數說明: * public void keyPress(int keycode),參數及功能說明: * keycode:要按下的鍵(例如,KeyEvent.VK_A) * 功能:模擬按下指定鍵 * * keyRelease 函數說明: * public void keyRelease(int keycode),參數及功能說明: * keycode:要釋放的鍵 * 功能:模擬釋放指定鍵 * * @param tovep */ import java.awt.Robot; import java.awt.event.KeyEvent; public class Exce { public static void main(String[] args) { try{ //創建自動操作類 Robot robot = new Robot(); /** * * 利用Runtime類運行Word程序的方法為: * Runtime.getRuntime().exec("cmd /c start winword"); * 括號里的是系統命令 * */ //啟動記事本程序 Runtime.getRuntime().exec("cmd /c start notepad"); //延緩幾秒鐘,等待記事本程序啟動成功 robot.delay(3000); //模擬按下"Ctrl + Space" 組合鍵,啟動輸入法 pressKeyWithCtrl(robot,KeyEvent.VK_SPACE); //模擬隨機按下100個字母,輸入漢字 for(int i=0;i<100;i++){ pressKey(robot, (int) (Math.random()* 25) + 'A'); pressKey(robot,KeyEvent.VK_SPACE); } //延緩5秒鐘,一共觀察 robot.delay(5000); //關閉記事本 //closeApplication(robot); }catch (Exception e){ System.out.println(e.getMessage()); } } //模擬按下鍵盤字符鍵 public static void pressKey(Robot robot, int keyvalue){ //模擬按下 robot.keyPress(keyvalue); //模擬彈起 robot.keyRelease(keyvalue); } //模擬同時按下"Ctrl"鍵和字符鍵 public static void pressKeyWithCtrl(Robot robot, int keyvalue){ //模擬按下 robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(keyvalue); //模擬彈起 robot.keyPress(keyvalue); robot.keyRelease(KeyEvent.VK_CONTROL); } //模擬按下"Alt + F4"組合鍵,關閉當前應用程序 public static void closeApplication(Robot robot){ //模擬按下"Alt + F4"組合鍵 //模擬按下 robot.keyPress(KeyEvent.VK_ALT); robot.keyPress(KeyEvent.VK_F4); //模擬彈起 robot.keyRelease(KeyEvent.VK_ALT); robot.keyRelease(KeyEvent.VK_F4); //模擬按下"N",不保存文件退出記事本程序 //模擬按下 robot.keyPress(KeyEvent.VK_N); //模擬彈起 robot.keyRelease(KeyEvent.VK_N); } } |
posted on 2013-11-07 11:16 順其自然EVO 閱讀(506) 評論(0) 編輯 收藏 所屬分類: selenium and watir webdrivers 自動化測試學習 、android