如果你还想从头学起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()

源码解析

  1. data 字典类型,用于存储传给方法的参数
  2. 如果传的参数不为None,则都会添加到 data 中
  3. 最后调用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 类里的方法和源码分析的更多相关文章

  1. Appium自动化(12) - 详解 HardwareActions 类里的方法和源码分析

    如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 HardwareAction ...

  2. Appium自动化(11) - 详解 Applications 类里的方法和源码解析

    如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 Applications 类 ...

  3. Java源码详解系列(十一)--Spring的使用和源码

    Spring 是一个一站式的 Java 框架,致力于提高我们项目开发的效率.通过 Spring,我们可以避免编写大量额外代码,更专注于我们的核心逻辑.目前,Spring 已经成为最受欢迎的 Java ...

  4. 【python进阶】详解元类及其应用1

    前言 元类在python中是很重要的一部分,我将分两次去讲解元类及其应用,此篇为详解元类及其应用第一篇,下面开始今天的说明~~~ 1. 类也是对象 在⼤多数编程语⾔中,类就是⼀组⽤来描述如何⽣成⼀个对 ...

  5. unity3D游戏开发之详解Animation类和Animator类

    详解Animator类和Animation类 链接: http://wenku.baidu.com/link?url=SiaUYcdrNYjOYrWVDJSKGAYdJOntMTOhsVJtyBk2i ...

  6. 【python进阶】详解元类及其应用2

    前言 在上一篇文章[python进阶]详解元类及其应用1中,我们提到了关于元类的一些前置知识,介绍了类对象,动态创建类,使用type创建类,这一节我们将继续接着上文来讲~~~ 5.使⽤type创建带有 ...

  7. Unity3D - 详解Quaternion类(二)

    OK,不做引子了,接上篇Unity3D - 详解Quaternion类(一)走起! 四.Quaternion类静态方法 Quaternion中的静态方法有9个即:Angle方法.Dot方法.Euler ...

  8. Unity3D - 详解Quaternion类(一)

    一.简介 Quaternion又称四元数,由x,y,z和w这四个分量组成,是由爱尔兰数学家威廉·卢云·哈密顿在1843年发现的数学概念.四元数的乘法不符合交换律.从明确地角度而言,四元数是复数的不可交 ...

  9. 13.详解oauth2授权码流程

    13.详解oauth2授权码流程 把登陆系统单独独立出来,可以给自己写的微服务用,也可以给第三方的系统调用我们的服务 显式的和隐式的,两种方式,

随机推荐

  1. Service Location Protocol SLP

    https://www.ibm.com/developerworks/cn/linux/l-slp/ 服务发现(service discovery) 是在网络环境中发现必须使用的服务的能力.例如,如果 ...

  2. Openstack Keystone V3 利用 curl 命令获取 token

    curl -i \ -H "Content-Type: application/json" \ -d ' { "auth": { "identity& ...

  3. [Hands-on-Machine-Learning-master] 02 Housing

    用到的函数 numpy.random.permutation随机排列一个序列,返回一个排列的序列. >>> np.random.permutation(10) array([1, 7 ...

  4. webform 最后的黄昏之力

    前言 现在有人谈起webform 一般都会说这种技术已经过时了,毫无用处. 因为我们在日常开发中已经不会去开发哪种几个简单的网页的程序,我们的业务更加复杂,这种拖动式的过于死板. 但是是否毫无用处呢? ...

  5. fedora 21下Virtual Box安装Windows XP SP3

    Installing Virtual Box and Windows XP SP3 during Fedora 21 The first step:Download and Install Virtu ...

  6. Spring Boot中使用Swagger CodeGen生成REST client

    文章目录 什么是Open API规范定义文件呢? 生成Rest Client 在Spring Boot中使用 API Client 配置 使用Maven plugin 在线生成API Spring B ...

  7. 数据挖掘入门系列教程(十二)之使用keras构建CNN网络识别CIFAR10

    简介 在上一篇博客:数据挖掘入门系列教程(十一点五)之CNN网络介绍中,介绍了CNN的工作原理和工作流程,在这一篇博客,将具体的使用代码来说明如何使用keras构建一个CNN网络来对CIFAR-10数 ...

  8. 浅析 JS 中的作用域链

    作用域链的形成 在 JS 中每个函数都有自己的执行环境,而每个执行环境都有一个与之对应的变量对象.例如: var a = 2 function fn () { var a = 1 console.lo ...

  9. c语言----- 冒泡排序 for while do-while 递归练习

    1. 冒泡排序简介(默认从小到大排序) 核心思想:只比较相邻的两个元素,如果满足条件就交换    5 8 2 1 6 9 4 3 7 0 目标:0 1 2 3 4 5 6 7 8 9 第一次排序: 5 ...

  10. 【Linux常见命令】ifconfig命令:配置与查看网络信息

    ifconfig(interfaces config).通常需要以root身份登录或使用sudo来使用ifconfig工具 ifconfig 命令用来查看和配置网络设备.当网络环境发生改变时可通过此命 ...