关于Actions和Robot的区别简单说明
Actions和Robot都是可以用来模拟键盘操作,但是两者还是有区别的
Actions actions =new Actions(driver)
实例化一个Actions后,我们可以使用actions调用鼠标的相关操作
actions.click:鼠标左键单击 actions.contextClick:鼠标右键单击 actions.doubleClick:鼠标左键双击 actions.dragAndDrop:鼠标左键拖曳 actions.clickAndHold:数据悬停 actions.moveByOffset:鼠标移动操作 actions.release:鼠标释放
当然,actions也是可以模拟键盘,不过对于actions对键盘的操作是分为2类的,普通键+修饰键
普通键:比如按键 TAB、Backspace 等
修饰键:在个人计算机上的键盘上,有以下几个修饰键:Shift、Ctrl、Alt(Option)、AltGr、Windows logo、Command、FN(Function)。但是在 WebDriver 中,一般的修饰键指前面三个;修饰键一般跟普通键组合使用的。比如 Ctrl+a、Alt+F4、 Shift+Ctrl+F 等等
普通键 actions.senkey(Keys.TAB):模拟键盘按下tab键并释放 修饰键 actions.KeyDown(Keys.CONTROL):模拟按下control键 actions.KeyUp(Keys.CONTROL):模拟释放control键
通过 Alt+F4 来关闭当前的活动窗口,可以通过下面语句来实现:action.keyDown(Keys.ALT).keyDown(Keys.F4).keyUp(Keys.ALT).perform();
而如果是对于像键盘上面的字母键 a,b,c,d... 等的组合使用,可以通过以下语句实现 :action.keyDown(Keys.CONTROL).sednKeys(“a”).perform();
通过举例说明普通键+修饰键,可以看到区别就是
普通键:调用就是按下并释放
修饰键:调用按下键还需调用释放键,这个说的单独调用时候,如果是和普通键组合使用就无需如此
Robot robot=new Robot();//这个地方就可以看出来,Actions有传driver作为参数,Robot没有,Robot其实是java中的类
对于一些功能组合键,如 Fn + NmLk 来关闭或者打开数字键,或者 Alt+PrtSC 来抓取当前屏幕的活动窗口并保存到图片,通过 WebDriver 的 Keys 是没办法操作的。 这个时候我们就需要用到 Java 的 Robot 类来实现对这类组合键的操作了。同样Robot调用需要步骤就是调用按下键还需调用释放键
//模拟键盘按下ctrl+v并释放
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
关于Actions和Robot的区别简单说明的更多相关文章
- CommonJS, AMD, CMD是什么及区别--简单易懂有实例
CommonJS, AMD, CMD都是JS模块化的规范. CommonJS是服务器端js模块化的规范,NodeJS是这种规范的实现. AMD(异步模块定义)和CMD(通用模块定义)都是浏览器端js模 ...
- java中String、StringBuffer和StringBuilder的区别(简单介绍)
简单介绍 java中用于处理字符串常用的有三个类: 1.java.lang.String 2.java.lang.StringBuffer 3.java.lang.StrungBuilder 三者共同 ...
- 题解报告:hdu 1035 Robot Motion(简单搜索一遍)
Problem Description A robot has been programmed to follow the instructions in its path. Instructions ...
- 从Docker在Linux和Windows下的区别简单理解Docker的层次结构
上篇文章我们成功在Windows下安装了Docker,输出了一个简单的Hello World程序.本文中我们将利用Docker已有的云端镜像training/webapp来发布一个简单Python的W ...
- C89和C99区别--简单总结
(1)对数组的增强 可变长数组 C99中,程序员声明数组时,数组的维数可以由任一有效的整型表达式确定,包括只在运行时才能确定其值的表达式,这类数组就叫做可变长数组,但是只有局部数组才可以是变长的.可变 ...
- layui框架中关于table方法级渲染和自动化渲染之间的区别简单介绍
方法级渲染: <table class="layui-hide" id="LAY_table_user" lay-filter="user&qu ...
- iOS KVC 和 KVO 区别简单总结
KVC: key value coding,键值编码.是一种通过使用属性的名称(key)来间接访问对象属性的方法.这个方法可以不用通过 setter/getter 方法来访问对象的属性.该方法使用的实 ...
- forEach和map的区别,简单写了IE低版本的原形封装
今天有点'不务正业',旧的没有写完又开新的,没办法 -0- 今天遇到这个特感兴趣嘛入正题了 forEach 和 map 的区别 参考:http://blog.csdn.net/boysky0015/a ...
- Robot Framework--01 创建简单工程示例
1.新建Project: 填写name,选择Type为Dirctory,路径根据自己需要选择,建议最好不要在中文路径下,以免发生问题:
随机推荐
- 2017-2018-1 20155338 加分项目——PWD的实现
2017-2018-1 20155338 加分项目--PWD的实现 项目要求 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试 ...
- JavaWeb总结(四)
使用Servlet发送服务器端响应信息 Servlet API中定义一个专门的接口类javax.servlet.http.HttpServletResponse用于创建HTTP响应,包括HTTP协议的 ...
- ASP.NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用
Grunt和Gulp是Javascript世界里的用来做自动压缩.Typescript编译.代码质量lint工具.css预处理器的构建工具,它帮助开发者处理客户端开发中的一些烦操重复性的工作.Grun ...
- selenium select 选择下拉框
实战百度首页设置,浏览偏好设置. 打开首页,在非登录的情况下,查看分析页面元素,我们可以看到,我们首先要点击的是设置, 接着点击,搜索设置, 然后select选择下拉框. select_by_inde ...
- Python语言简介以及特点
编程语言的分为编译型语言和解释型语言: 1. 编译型语言: (1) 编译型语言的代表:C.C++.Delphi等, (2) 编译型语言的运行方式:编译 -> 运行 (3) 编译型语言的优缺点分析 ...
- CentOS搭建Docker Hub私有仓库
docker pull registry拉取registry镜像 docker images查看镜像 docker run -d -p 5000:5000 -v /opt/data/registry: ...
- 高可用OpenStack(Queen版)集群-1. 集群环境
参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...
- Ubuntu系统无法识别Logitech M590蓝牙鼠标的问题
参见 - https://blog.csdn.net/yh2869/article/details/73119018 亲测可用. 系统:ubuntu 16.04 64bit 现象:鼠标配对可以成功,但 ...
- go 运行项目
此时运行项目,不能像之前简单的使用go run main.go,因为包main包含main.go和router.go的文件,因此需要运行go run *.go命令编译运行.如果是最终编译二进制项目,则 ...
- bootstrape3 模态
version 2 的模态 不能在 version 3 上面用. http://schy-hqh.iteye.com/blog/1995690