在RFT中使用Robot类

RFT中操纵键盘鼠标有很多种方法,例如:

调用测试对象的inputKeys方法:

http://blog.csdn.net/Testing_is_believing/archive/2010/01/17/5203586.aspx

整合AutoIt的方法:

http://blog.csdn.net/Testing_is_believing/archive/2010/01/16/5200693.aspx

 

今天又发现一种办法,采用JAVAAWT包中的Robot

 

        Robot robot;

        startApp("notepad");   

        无标题记事本window().activate();

        try {

            robot = new Robot();

            robot.keyPress(KeyEvent.VK_0);

            robot.keyRelease(KeyEvent.VK_0);

           

            无标题记事本window().activate();

            robot.keyPress(KeyEvent.VK_ALT);

            robot.keyPress(KeyEvent.VK_F4);

            robot.keyRelease(KeyEvent.VK_ALT);

            robot.keyRelease(KeyEvent.VK_F4);      

           

        } catch (AWTException e) {

            e.printStackTrace();

        }

 

查阅JDK帮助文档可以知道:

Robot类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot 的主要目的是便于 Java 平台实现自动测试。

使用该类生成输入事件与将事件发送到 AWT 事件队列或 AWT 组件的区别在于:事件是在平台的本机输入队列中生成的。例如,Robot.mouseMove 将实际移动鼠标光标,而不是只生成鼠标移动事件。

Robot类的主要方法有:

方法摘要

 BufferedImage

createScreenCapture(Rectangle screenRect)
          
创建包含从屏幕中读取的像素的图像。

 void

delay(int ms)
          
睡眠指定的时间。

 int

getAutoDelay()
          
返回此 Robot 在生成一个事件后睡眠的毫秒数。

 Color

getPixelColor(int x, int y)
          
返回给定屏幕坐标处的像素颜色。

 boolean

isAutoWaitForIdle()
          
返回此 Robot 在生成一个事件后是否自动调用
waitForIdle

 void

keyPress(int keycode)
          
按下给定的键。

 void

keyRelease(int keycode)
          
释放给定的键。

 void

mouseMove(int x, int y)
          
将鼠标指针移动到给定屏幕坐标。

 void

mousePress(int buttons)
          
按下一个或多个鼠标按钮。

 void

mouseRelease(int buttons)
          
释放一个或多个鼠标按钮。

 void

mouseWheel(int wheelAmt)
          
在配有滚轮的鼠标上旋转滚轮。

 void

setAutoDelay(int ms)
          
设置此 Robot 在生成一个事件后睡眠的毫秒数。

 void

setAutoWaitForIdle(boolean isOn)
          
设置此 Robot 在生成一个事件后是否自动调用
waitForIdle

 String

toString()
          
返回此 Robot 的字符串表示形式。

 void

waitForIdle()
          
在处理完当前事件队列中的所有事件之前,一直等待。

 

 

RFT中使用Robot对象有点类似于在QTP中使用DeviceReply

http://blog.csdn.net/Testing_is_believing/archive/2008/03/06/2155167.aspx

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值