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