Appium自动化(13) - 详解 Keyboard 类里的方法和源码分析
如果你还想从头学起Appium,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1693896.html
前言
Keyboard 类在 appium\webdriver\extensions 下的 keyboard.py 模块中
- 属于键盘操作类
hide_keyboard(self: T, key_name: Optional[str] = None, key: Optional[str] = None, strategy: Optional[str] = None)
作用
隐藏设备上的键盘
参数讲解(参数仅适用iOS)
- key_name:iOS 才需要此参数
- key:不知道....
- strategy:隐藏键盘的模式
用法
driver.hide_keyboard()
源码解析

- data 字典类型,用于存储传给方法的参数
- 如果传的参数不为None,则都会添加到 data 中
- 最后调用execute() ,执行对应操作
is_keyboard_shown(self: T)
作用
检查当前键盘是否已出现
返回
如果键盘已出现,则返回True
用法
print(driver.is_keyboard_shown())
keyevent(self: T, keycode: int, metastate: Optional[int] = None)
作用
发送按键code,模拟手机按键【Android专属】
参数讲解
- keycode:按键代码
- metastate:键码的元信息(不知道有啥用)
keyCode查找可看此地址
http://developer.android.com/reference/android/view/KeyEvent.html
注意
现在这方法其实已经过时了,用下面的press_keycode取代它,否则可能会报以下错误
warn: [DEPRECATED] The keyevent function has been deprecated and will be removed. Please use the pressKeyCode function instead.
用法
driver.keyevent(4)
press_keycode(self: T, keycode: int, metastate: Optional[int] = None, flags: Optional[int] = None)
作用
发送按键code,模拟手机按键【Android专属】
参数讲解
- keycode:按键代码
- metastate:键码的元信息(不知道有啥用)
- flags:按键事件的合集
用法
driver.press_keycode(4)
long_press_keycode(self: T, keycode: int, metastate: Optional[int] = None, flags: Optional[int] = None)
作用
按键code长按发送给设备,模拟手机按键【Android专属】
参数讲解
- keycode:按键代码
- metastate:键码的元信息(不知道有啥用)
- flags:目标按键事件
用法
driver.long_press_keycode(4)
按键代码列表
电话键

控制键


组合键

基础键



Appium自动化(13) - 详解 Keyboard 类里的方法和源码分析的更多相关文章
- Appium自动化(12) - 详解 HardwareActions 类里的方法和源码分析
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 HardwareAction ...
- Appium自动化(11) - 详解 Applications 类里的方法和源码解析
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 Applications 类 ...
- Java源码详解系列(十一)--Spring的使用和源码
Spring 是一个一站式的 Java 框架,致力于提高我们项目开发的效率.通过 Spring,我们可以避免编写大量额外代码,更专注于我们的核心逻辑.目前,Spring 已经成为最受欢迎的 Java ...
- 【python进阶】详解元类及其应用1
前言 元类在python中是很重要的一部分,我将分两次去讲解元类及其应用,此篇为详解元类及其应用第一篇,下面开始今天的说明~~~ 1. 类也是对象 在⼤多数编程语⾔中,类就是⼀组⽤来描述如何⽣成⼀个对 ...
- unity3D游戏开发之详解Animation类和Animator类
详解Animator类和Animation类 链接: http://wenku.baidu.com/link?url=SiaUYcdrNYjOYrWVDJSKGAYdJOntMTOhsVJtyBk2i ...
- 【python进阶】详解元类及其应用2
前言 在上一篇文章[python进阶]详解元类及其应用1中,我们提到了关于元类的一些前置知识,介绍了类对象,动态创建类,使用type创建类,这一节我们将继续接着上文来讲~~~ 5.使⽤type创建带有 ...
- Unity3D - 详解Quaternion类(二)
OK,不做引子了,接上篇Unity3D - 详解Quaternion类(一)走起! 四.Quaternion类静态方法 Quaternion中的静态方法有9个即:Angle方法.Dot方法.Euler ...
- Unity3D - 详解Quaternion类(一)
一.简介 Quaternion又称四元数,由x,y,z和w这四个分量组成,是由爱尔兰数学家威廉·卢云·哈密顿在1843年发现的数学概念.四元数的乘法不符合交换律.从明确地角度而言,四元数是复数的不可交 ...
- 13.详解oauth2授权码流程
13.详解oauth2授权码流程 把登陆系统单独独立出来,可以给自己写的微服务用,也可以给第三方的系统调用我们的服务 显式的和隐式的,两种方式,
随机推荐
- Discuz的文件目录解析
最近在学习discuz,对这个不了解的 可以参考 http://www.cnblogs.com/hgj123/p/4641845.html
- mac OS 安装 nvm
nvm官网 https://github.com/creationix/nvm nvm,node,npm之间的区别 nvm:nodejs 版本管理工具 一个 nvm 可以管理很多 node 版本和 n ...
- Shiro踩坑记(二):使用RequiresXXX的注解后,访问对应请求返回404
问题描述: 我在项目中的某个Controller上添加了@RequirePermissions注解,希望在执行该请求前,可以先进行权限验证.但是当我请求该Controller时,返回的确是404错误. ...
- RHEL6 搭建 keepalived + lvs/DR 集群
搭建 keepalived + lvs/DR 集群 使用Keepalived为LVS调度器提供高可用功能,防止调度器单点故障,为用户提供Web服务: LVS1调度器真实IP地址为192.168.4. ...
- Codeforce 1255 Round #601 (Div. 2)B. Fridge Lockers(思维)
Hanh lives in a shared apartment. There are nn people (including Hanh) living there, each has a priv ...
- P5522 [yLOI2019] 棠梨煎雪
updata on 2020.3.19 今天把博客从洛谷往博客园搬,图炸了 其实早就发现了,懒得管 那图其实就是一个用dev自带的调试功能调试时,RE了的报错 当时觉得很奇怪看不出是啥,现在再看已经觉 ...
- undef用法
#undef的语法 定义:#undef 标识符,用来将前面定义的宏标识符取消定义. 整理了如下几种#undef的常见用法. 1. 防止宏定义冲突在一个程序块中用完宏定义后,为防止后面标识符冲突需要取消 ...
- libevent(六)http server
客户端: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <signa ...
- 基本Linux命令(上)
Linux的难点在于我们需要记忆大量的命令及参数.如有问题请批评指正,在下感激不尽. Linux的命令都是在shell下使用的,也就是我们常说的终端(Terminal).包 ...
- Vue + Element-ui实现后台管理系统(3)---面包屑 + Tag标签切换功能
面包屑 + Tag标签切换功能 有关后台管理系统之前写过两遍博客,看这篇之前最好先看下这两篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-system 1.V ...