java GUI 测试
简介
模拟机器人操作测试GUI
code
/*
* @Author: your name
* @Date: 2020-11-08 18:22:54
* @LastEditTime: 2020-11-08 18:38:31
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /java/calcu/RobotTest.java
*/
package calcu;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.swing.*;
public class RobotTest {
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
ButtonFrame frame = new ButtonFrame();
frame.setTitle("ButtonTest");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
});
GraphicsEnvironment environment = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice screen = environment.getDefaultScreenDevice();
try {
final Robot robot = new Robot(screen);
robot.waitForIdle();
new Thread() {
public void run() {
runTest(robot);
}
}.start();
} catch (AWTException e) {
e.printStackTrace();
}
}
public static void runTest(Robot robot) {
robot.keyPress(' ');
robot.keyRelease(' ');
// simulate a tab key followed by a space
robot.delay(1000);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyPress(' ');
robot.keyRelease(' ');
System.out.println("yellow over");
// simulate a mouse click over the rightmost button
robot.delay(1000);
robot.mouseMove(220, 40);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
System.out.println("mid over");
robot.delay(1000);
BufferedImage image = robot.createScreenCapture(new Rectangle(0, 0, 400, 300));
ImageFrame frame = new ImageFrame(image);
frame.setVisible(true);
}
}
class ImageFrame extends JFrame {
private static final int DEFAULT_WIDTH = 450;
private static final int DEFAULT_HEIGHT = 350;
public ImageFrame(Image image) {
setTitle("Capture");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
JLabel label = new JLabel(new ImageIcon(image));
add(label);
}
}
java GUI 测试的更多相关文章
- 转载:开发者眼中最好的 22 款 GUI 测试工具
对于很多同学来说gui程序的测试是一个难点,所以我从网上转载了一篇关于gui测试的一篇文章,里面罗列的很多工具,大家可以尝试一下学习学习. 英文原文:22 best GUI testing tools ...
- 开发者眼中最好的 22 款 GUI 测试工具
1.Abbot - Java GUI 测试框架 Abbot是一个基于GUI的简单的Java测试框架,它能够帮助开发者测试Java用户界面. 它提供事件自动生成和验证Java GUI组件,使您能够轻松地 ...
- windows gui测试工具:AutoIt
windows gui测试工具:AutoIt 2017-01-09 目录 1 简介2 示例1 记事本自动化操作3 示例2 上传文件 1 简介 返回 AutoIt v3 是用以编写并生成具有 BASIC ...
- GUI测试要点
本人测试知识还不完整,所以下面的文字总结自网络上的文章,红色字体为我平时的测试经验,如有雷同之处,还请见谅,仅自己学习之用. 转载请说明来自博客园--邦邦酱好. ------------------- ...
- Java常用测试工具
第一部分:九款性能测试 Java入门 如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK——Java Development Kit(Java开发工具包),它自带有Java Runti ...
- Java GUI编程中AWT/swing/SWT的优缺点
http://www.cnblogs.com/dugang/archive/2010/10/22/1858478.html AWT AWT是Abstract Window Toolkit(抽象窗口工具 ...
- Java GUI 桌面应用开发
前言 虽然现在已经很少项目会涉及GUI技术,但作为一个合格的Java开发工程师,还是得了解才得 本文记录,idea使用JFormDesigner插件进行Java GUI 桌面应用开发 GUI Swin ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- JAVA GUI
JAVA GUI中的事件处理: 委托事件模型:事件源对象和监听器对象具有绑定关系 一个监听器可以绑定多个事件源 一个事件源也可以绑定多个监听器 监听器有各自监听的事件类型 设置容器的布局管 ...
- paip.java gui swt/jface 最佳实践
paip.java gui swt/jface 最佳实践 1. 工具:Eclipse +jigloo4 1 2. 安装插件: 1 1. IMPORT swt lib 2 2. 新建立窗体 2 3. 运 ...
随机推荐
- 基于华为交换机的三层Clos架构(Leaf-Spine)配置指南
基于华为交换机的三层Clos架构(Leaf-Spine)配置指南 目录 设计原则 配置步骤 物理连接与基础配置 路由协议配置 VXLAN+EVPN配置 M-LAG高可用配置 BFD快速检测 验证命令 ...
- python实例:爬取caoliu图片,同时下载到指定的文件夹内
本脚本主要实现爬取caoliu某图片板块,前3页当天更新的帖子的所有图片,同时把图片下载到对应帖子名创建的文件夹中 爬虫主要通过python xpath来实现,同时脚本内包含,创建文件夹,分割数据,下 ...
- MVVM_UI和逻辑分离(事件利用命令替换),命令代替事件,命令传递事件参数,附完整demo
近期公司重构了些界面,因为换肤和界面定制的缘故,需要把样式和逻辑分开:所以记录下关键的操作:主要是利用命令代替事件,利用命令传递事件的参数... 先大致看下效果: 主要是利用 Prism 库,可直接利 ...
- 海康摄像头SDK在Linux、windows下的兼容问题(二)已解决
上一篇提出的问题,在前几天解决了. 海康的技术人员给出了指导,在Linux库加载失败的时候,需要在代码中手动指定配置文件. 库文件加载说明] // 1. lib文件夹里面所有库文件libhcnetsd ...
- Python—Pytorch学习-RNN(一)
前言 有好几个月没搞神经网络代码了,期间也就是回顾了两边之前的文字. 不料,对nn,cnn的理解反而更深入了-_-!. 修改 <零基础学习人工智能-Python-Pytorch学习(四)> ...
- java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap报错解决办法
在接收表单数据封装成对象时报错,具体错误信息如下: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMetho ...
- 【记录】ChatGPT|使用技巧(更新至2023年2月8日)
昨天,2022年12月13日,在下午和晚上,ChatGPT 就开始因为请求过多而写到一半就崩溃,出现network error,可见它的关注度确实是越来越可观了. 正好最近世界杯,有博客活动, ...
- k8sd之pod生命周期
pod生命周期: 状态:pending 挂起 没有节点满足条件 running 运行 Failed sucess unkonwn pod生命周期中的重要行为: 初始化容器 容器探测:liveness ...
- React并发机制揭秘
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
- 又一版 A+B
Description 输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数. Input 输入格式:测试输入包含若干测试用 ...