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

按键代码列表

电话键

控制键

组合键

基础键

最新文章

  1. BZOJ2292——【POJ Challenge 】永远挑战
  2. HTML5本地存储——Web SQL Database
  3. NTP时间同步服务器设置
  4. oracle rac理解和用途扩展
  5. SQL常见笔试面试题
  6. java.lang.VerifyError异常
  7. linux内核模块相关命令:lsmod,depmod,modprobe,modinfo,insmod,rmmod 使用说明
  8. 关于解压覆盖IIS文件后,新的文件不具备权限导致DMS系统无法正常运行
  9. System.UnauthorizedAccessException: 拒绝访问 temp 目录。用来运行 XmlSerializer 的标识“NT AUTHORITY\NETWORK SERVICE”没有访问 temp 目录的足够权限。CodeDom 将使用进程正在使用的用户帐户进行编译,这样,如
  10. swift 赋值判断
  11. netstat 命令state值
  12. Android利用百度地图定位
  13. 自动运行native2ascii 命令的Bat文件的编写
  14. yum安装epel库后,安装软件总是提示Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again(无法检索epel仓库)
  15. math方法集合
  16. Chrome浏览器加载CSS文件TTFB waiting超时的奇葩问题
  17. CART分类与回归树与GBDT(Gradient Boost Decision Tree)
  18. sql 里的 IF ELSE 语句用法
  19. pyqt4实现tab界面切换
  20. Andriod Studio科普篇——4.关于编译的常见问题

热门文章

  1. js基石之---易读、易复用、易重构的 JavaScript 代码规范
  2. java 中的fork join框架
  3. 预测球队比赛结果及利用pyinstaller打包文件
  4. 13.Python中的命名空间是什么
  5. 6.Python中内存是如何管理的?
  6. 长江存储推全新3D NAND架构 挑战三星存储
  7. 通过fiddler抓取IDEA的请求
  8. 图论--割点--Tarjan模板
  9. P4932 浏览器(统计二进制1的个数)
  10. Element upload组件上传图片与回显图片