如果你还想从头学起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. ubuntu 下 使用GTK+、sqlite3、c语言的学生系统

    使用GTK+2.0.sqlite3数据库.c语言 的简易的学生管理系统 实现了基本的增删查改 效果图:

  2. 【JAVA基础】06 面向对象

    1. 面向对象思想概述 面向过程思想概述 第一步 第二步 面向对象思想概述 找对象(第一步,第二步) 举例 买煎饼果子 洗衣服 面向对象思想特点 是一种更符合我们思想习惯的思想 可以将复杂的事情简单化 ...

  3. Shiro踩坑记(一):关于shiro-spring-boot-web-starter自动注解无法注入authorizer的问题

    一)问题描述: 我在一个Spring的项目中使用shiro搭建权限控制框架.主要通过shiro-spring-boot-web-starter包快速集成Shiro.但是项目无法启动,报没有author ...

  4. JS的String()、toString()、valueOf()的一些隐秘特性

    toString()方法 要把一个值转换为一个字符串,最常用的就是,使用几乎每个值都有的toString()方法,这个方法唯一要做的就是返回相应值的字符串表现. 数值.布尔值.对象和字符串值(没错,每 ...

  5. 外媒解读Web安全核心PKI的四大致命问题

    Web安全的立足根基在于复杂的PKI部署体系,但实际生活中得到正确部署的比例却非常有限,而且这一切都将随着摩尔定律的滚滚洪流灰飞烟灭. 我个人算是PKI(即公共密钥基础设施)的忠实拥护者.我热爱数学与 ...

  6. 参加Windows7深圳社区发布会

    昨天下午参加了深圳DotNet俱乐部组织的Windows7深圳社区发布会. 开场:朱兴林,俱乐部简介及Win7的发布情况 Session 1,万洪,Windows7的新特性 Session 2,张善友 ...

  7. 使用mvp+rxjava+retrofit加载数据

    将mvp和rxjava和retrofit简单整合的列子,让activity的代码不再那么臃肿,只负责显示数据. 关于mvp的介绍可以看这里, 关于Rxjava的介绍可以看这里; 关于retrofit的 ...

  8. xml出现Exception in thread "main" java.lang.NullPointerException

    运行代码出现Exception in thread "main" java.lang.NullPointerException 可以看下这个链接:https://ask.csdn. ...

  9. 麦基数(p1045)

    描述: \(计算2^{P}−1的位数和最后500位数字(用十进制高精度数表示)\) Ⅰ.求位数 \(因为2^p最后一位必定不为0,求2^p-1的位数也就是求2^p位数\) \(2^p的位数确实很难求, ...

  10. Kubernetes笔记(二):了解k8s的基本组件与概念

    前文 Kubernetes笔记(一):十分钟部署一套K8s环境 介绍了如何快速搭建一个k8s系统.为了继续使用k8s来部署我们的应用,需要先对k8s中的一些基本组件与概念有个了解. Kubernete ...