利用Java中的Robot类协助自动化测试

标签: 利用 java robot | 发表时间:2013-11-15 01:21 | 作者:tanzhangwen
出处:http://blog.csdn.net

java.awt.Robot 类提供了一些键盘或鼠标的动作,包括键盘的按键操作,鼠标移动点击操作以及等待或是抓屏功能。详细可以参考API: http://docs.oracle.com/javase/7/docs/api/java/awt/Robot.html

在我们的测试过程中,常常会涉及到鼠标和键盘的操作。而对这些操作的自动化,如果现有的测试工具在实现起来有困难的时候,就可以借助于Robot了。

现在举一个应用的例子:当我们用selenium和Firefox来进行自动化测试的时候,如果需要测试文件可供下载并且里面内容显示正确。首先就需要将文件下载到本地,再进行读取来验证。当点击下载链接后,弹出的新窗口可能selenium就无法进行控制了,这时候要想进一步操作就需要借助于键盘或者鼠标了。通过手工操作确认,我们可以用tab键以及Enter键来控制。


        selenium.click(loc);
        SeleniumUtilities.sleep(ConnectConfig.LONGSLEEP);
        try {
            Robot robot = new Robot();
            robot.keyPress(KeyEvent.VK_ENTER);
            robot.keyRelease(KeyEvent.VK_ENTER);
            robot.delay(2000);
            robot.keyPress(KeyEvent.VK_ENTER);
            robot.keyRelease(KeyEvent.VK_ENTER);
            robot.delay(1000);
            robot.keyPress(KeyEvent.VK_ENTER);
            robot.keyRelease(KeyEvent.VK_ENTER);
        } catch (AWTException e) {
            logger.logInfo(e.toString());
        }

关于Robot的具体的功能,可能是需要在实际运用中体会。下面链接给出了一些经验者使用的总结代码:

http://blog.csdn.net/generalyy0/article/details/7733326


作者:tanzhangwen 发表于2013-11-14 17:21:17 原文链接
阅读:113 评论:0 查看评论

相关 [利用 java robot] 推荐:

利用Java中的Robot类协助自动化测试

- - CSDN博客互联网推荐文章
java.awt.Robot 类提供了一些键盘或鼠标的动作,包括键盘的按键操作,鼠标移动点击操作以及等待或是抓屏功能. 详细可以参考API: http://docs.oracle.com/javase/7/docs/api/java/awt/Robot.html. 在我们的测试过程中,常常会涉及到鼠标和键盘的操作.

《生活即犯罪(Life is Crime)》: Red Robot把手机游戏带到现实生活当中

- Bourne - 36氪
又一家把O2O模式带到游戏领域的公司. 昨天我们刚刚介绍过通过拍照把现实生活和游戏联系到一起的Onefeat:Onefeat玩起来很简单,你的目的就是通过拍照完成一系列任务. 你还可以创建自己的拍照任务,鼓励别人去完成;也可以完成别人创建的任务. 用Onefeat的话叫做完成一项{壮}举. 今天我们介绍来Red Robot Labs,这家公司刚刚获得850万美元投资,他们将利用这笔钱打造更多把游戏和现实生活结合到一起的游戏.

利用Java SE 8流处理数据II(译)

- - BlogJava-首页技术区
利用Java SE 8流处理数据. -- 结合Stream API的高级操作去表示富数据处理查询. 本文是 Java Magazine 201405/06刊中的一篇文章,也是文章系列"利用Java SE 8流处理数据"中的第二篇,它基于flatMap()和collect()介绍了Java流的高级用法(2014.08.15最后更新).

[Java][web]利用Spring随时随地获得Request和Session

- - CSDN博客推荐文章
利用Spring随时随地获得Request和Session. 在web.xml中添加  . 1、方法一:通过代码实现. 2、方法二:通过注解实现:. 三、关于RequestContextListener的背景知识:. 基于LocalThread将HTTP request对象绑定到为该请求提供服务的线程上.

利用btrace在线监控java程序状态

- - CSDN博客研发管理推荐文章
      下载地址: https://kenai.com/projects/btrace/downloads/directory/releases/.       选择版本进行下载,这里下载的是 release-1.2.4 / btrace-bin.zip.       这两天在调试程序时,发现一个比较好用的工具-btrace,能够线上监控程序状态,获取运行时数据信息,如方法返回值,参数,调用次数,全局变量,调用堆栈等.

Java下利用Jackson进行JSON解析和序列化

- - 企业架构 - ITeye博客
Java下常见的Json类库有Gson、JSON-lib和Jackson等,Jackson相对来说比较高效,在项目中主要使用Jackson进行JSON和Java对象转换,下面给出一些Jackson的JSON操作方法. 首先去官网下载Jackson工具包,下载地址http://wiki.fasterxml.com/JacksonDownload.

利用btrace在线监控java程序状态

- - zzm
      选择版本进行下载,这里下载的是.       这两天在调试程序时,发现一个比较好用的工具-btrace,能够线上监控程序状态,获取运行时数据信息,如方法返回值,参数,调用次数,全局变量,调用堆栈等.       位于bin目录下面主要有6个脚本,3个windows的,另外3个是linux的,分别是btrace、btracec、btracer.

Java性能调优:利用JFR生成性能日志

- - 编程语言 - ITeye博客
Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC、JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JFR生成性能日志. JVM_OPT中添加:-XX:+UnlockCommercialFeatures -XX:+FlightRecorder.

利用Java打开浏览器访问特定网址

- - Linux - 操作系统 - ITeye博客
已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

java获取计算机cpu利用率和内存使用信息

- - Java - 编程语言 - ITeye博客
利用java获取计算机cpu利用率和内存使用信息.     /** 最大可使用内存.     /** 剩余的物理内存.     /** 已使用的物理内存.             // 操作系统.        * 获得当前的监控对象.        * @return 返回构造好的监控对象.           // 可使用内存.