从jdk1.3开始,提供了一个Robot类,在java.awt.*包下面。这个类在jdk中描述如下:
此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot 的主要目的是便于 Java 平台实现自动测试。
使用该类生成输入事件与将事件发送到 AWT 事件队列或 AWT 组件的区别在于:事件是在平台的本机输入队列中生成的。例如,Robot.mouseMove 将实际移动鼠标光标,而不是只生成鼠标移动事件。
注意,某些平台需要特定权限或扩展来访问低级输入控件。如果当前平台配置不允许使用输入控件,那么试图构造 Robot 对象时将抛出 AWTException。例如,如果 X 服务器不支持(或没有启用)XTEST 2.2 标准扩展,则 X-Window 系统会抛出异常。
出于自测试之外的目的而使用 Robot 的应用程序应妥善处理这些错误条件。
这个类除了模拟鼠标键盘操作以外,还可以用来截取屏幕,只演示一下怎么模拟鼠标键盘操作,具体api参考javadoc。这个演示完成了弹出QQ和移动窗口的功能。代码如下:
package tmp;
/*
从jdk1.3开始,提供了一个Robot类,在java.awt.*包下面。这个类在jdk中描述如下:
此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot 的主要目的是便于 Java 平台实现自动测试。
使用该类生成输入事件与将事件发送到 AWT 事件队列或 AWT 组件的区别在于:事件是在平台的本机输入队列中生成的。例如,Robot.mouseMove 将实际移动鼠标光标,而不是只生成鼠标移动事件。
注意,某些平台需要特定权限或扩展来访问低级输入控件。如果当前平台配置不允许使用输入控件,那么试图构造 Robot 对象时将抛出 AWTException。例如,如果 X 服务器不支持(或没有启用)XTEST 2.2 标准扩展,则 X-Window 系统会抛出异常。
出于自测试之外的目的而使用 Robot 的应用程序应妥善处理这些错误条件。
这个类除了模拟鼠标键盘操作以外,还可以用来截取屏幕,只演示一下怎么模拟鼠标键盘操作,具体api参考javadoc。这个演示完成了弹出QQ和移动窗口的功能。代码如下:
*/
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
/**
* @author bean
*
*/
public class RobotDemo {
private Robot robot = null;
public RobotDemo() {
try {
robot = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
}
/** 可以弹出QQ */ // 'ALT+CTRL+Z'
/*
* 可以模拟键盘。我将他们改成‘ALT+Z’,电子笔记本回响应。
*/
/* 键盘模拟
* 按下 ALT
* 按下 CTRL
* 按下 Z
* 释放 Z
* 释放 CTRL
* 释放 ALT
*
*/
public void keyBoardDemo() {
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_Z);
robot.keyRelease(KeyEvent.VK_Z);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_ALT);
}
/** 前提是有个最大化的窗口,功能是移动到标题栏,然后拖拽到600,600的位置*/
// 前提不是一个最大化的窗口,因为最大化的窗口不可以移动,如果是最大化的窗口就看不到现象了。
// 一个放在左上角的、可移动的窗口。
/* 鼠标模拟:
* 移到(80,10)
* 按下
* 移到(600,600)
* 释放
*
*/
public void mouseDemo(){
robot.mouseMove(80, 10);
robot.mousePress(KeyEvent.BUTTON1_MASK);
try {
Thread.sleep(20);
} catch (InterruptedException e) {
e.printStackTrace();
}
robot.mouseMove(600, 600);
robot.mouseRelease(KeyEvent.BUTTON1_MASK);
}
/**
* @param args
*/
public static void main(String[] args) {
RobotDemo demo=new RobotDemo();
demo.keyBoardDemo();
demo.mouseDemo();
}
}
分享到:
相关推荐
Robot Framework是一款开源的通用自动化框架,尤其适合用于软件测试自动化,它提供了丰富的库和可扩展性,使得测试用例的编写简洁且易于理解。 在本书中,作者齐涛深入浅出地介绍了Robot Framework的基本概念和核心...
【Robot自动化测试环境搭建】 自动化测试是现代软件开发过程中不可或缺的一部分,它能显著提高测试效率,减少人工错误,尤其在大型复杂项目中更是如此。Robot Framework 是一款强大的自动化测试框架,支持多种平台...
【标签】"自动化测试"表明这个压缩包中的资料是关于测试自动化的,强调了在软件开发过程中,通过编程方式来执行测试任务,减少手动测试的工作量,提高测试效率和准确性。自动化测试的关键在于设计可重复执行的测试...
《Robot Framework自动化测试修炼宝典》分为3个部分进行介绍。在第1部分筑基篇中,主要有自动化测试概述、Robot Framework两章的内容;在第2部分小乘篇中,主要有Web自动化测试、C/S自动化测试、数据库自动化测试、...
《RobotFramework自动化测试修炼宝典》是一本深入探讨如何利用Robot Framework进行自动化测试的专业书籍,配合源代码,读者可以更直观地理解并实践书中的理论知识。Robot Framework是一个开源的、通用的自动化测试...
**RobotFramework自动化测试** Robot Framework 是一款开源的通用自动化测试框架,它被广泛应用于软件测试、系统集成验证以及持续集成等多个领域。这个压缩包包含了关于Robot Framework的详细资料,包括实例源码,...
它被广泛应用于自动化测试领域,尤其是对于测试自动化的需求日益增长的今天。Robot Framework采用易于理解的表格形式组织测试过程和测试数据,从而使得测试用例的编写和维护变得简单明了。 Robot Framework主要有...
### Robot Framework自动化测试知识点 #### 一、Robot Framework概述 - **定义**:Robot Framework是一种通用的自动化测试框架,主要用于验收测试和验收测试驱动开发(ATDD)。 - **特点**: - 使用简单,基于...
【ROBOT自动化测试】是指利用Robot Framework进行自动化测试的一种技术。Robot Framework是一个基于Python的开源自动化测试框架,它采用关键字驱动的方式,适用于多种技术和接口的分布式、异构应用系统的端到端测试...
Python3+RIDE+RobotFramework自动化测试框架搭建详解 随着软件行业的发展,自动化测试已成为提升测试效率与质量的重要手段。本文将详细介绍如何搭建Python3+RIDE+RobotFramework自动化测试框架。该框架通过Python3...
**Python-Robot Framework:通用自动化测试框架详解** Python-Robot Framework是一个强大且灵活的开源自动化测试框架,尤其适合于系统集成、验收测试以及端到端的业务流程验证。它的设计思路是面向关键字驱动,允许...
Robot Framework 是一个开源自动化测试框架,它以关键字驱动的方式进行测试,支持多种库,可用于Web应用、移动应用、数据库、API等的自动化测试。在这个"robotframework自动化测试demo实例"中,我们可以深入学习如何...
Robot Framework是业界广受好评的一款自动化测试框架,以其简洁易用、丰富的测试库支持、以及灵活的扩展性吸引了众多开发人员和测试工程师的关注。以下是本文档所提供的Robot Framework自动化测试相关知识点的详细...
Robot Framework 的架构是一个通用的验收测试和验收测试驱动开发的自动化测试框架(ATDD)。它具有易于使用的表格来组织测试过程和测试数据。本书讲解robot_framewok安装、使用等一系列操作,适合新手使用
Robot Framework自动化测试的基础知识,可以参考搭建自己的自动化测试框架
RobotFramework 自动化测试框架 Robot Framework 是一种通用的自动化测试框架,旨在解决自动化测试中的一些问题,如自动测试用例的实现方式、自动测试用例的开发支持等。下面将对 Robot Framework 的特点、优点、...
### RobotFramework + Selenium 自动化测试 - 齐涛博客教程整理 #### 一、引言及基础知识 RobotFramework(简称RF)结合Selenium Library,为Web自动化测试提供了一个强大的框架。这种组合允许测试人员使用一种...
在自动化测试领域,Robot Framework是一个广泛使用的开源测试框架,它以关键字驱动的方式,提供了一种简单易用且可扩展的测试解决方案。"RobotFramework自动化测试修炼宝典 测试环境搭建工具"这一主题聚焦于如何利用...
Robot Framework自动化测试框架快速入门书籍