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()

源码解析

  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)

 

按键代码列表

电话键

控制键

 

组合键

基础键

posted @ 2020-05-21 14:49  小菠萝测试笔记  阅读(682)  评论(0编辑  收藏  举报