前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >appium+python自动化39-adb输入中文(ADBKeyBoard)

appium+python自动化39-adb输入中文(ADBKeyBoard)

作者头像
上海-悠悠
发布2018-07-25 15:46:50
2.5K0
发布2018-07-25 15:46:50
举报
文章被收录于专栏:从零开始学自动化测试

前言

上一篇提到“adb shell input textyoyo“ 可以通过adb 输入英文的文本,由于不支持unicode编码,所以无法输入中文,github上有个国外的大神写了个ADBKeyBoard输入法的apk,完美支持unicode编码,也能输入中文和其它字符了

ADBKeyBoard

1.ADBKeyBoard在github的源码地址ADBKeyBoard github 地址,有兴趣的可以去看看,这里我翻译成中文文档了

2.ADBKeyBoard是一个虚拟键盘,它接收来自系统broadcast的命令,可以使用ADB输入文本内容,以下是adb 的input事件发生文本。 但是,不能使用此命令发送Unicode字符

代码语言:javascript
复制
usage: input [text|keyevent]
  input text 
  input keyevent

如下这种是不支持的

代码语言:javascript
复制
e.g.
adb shell input text '你好嗎' 
is not going to work.

3.ADBKeyBoard就是为解决这个问题而专门开发的一个小工具,主要用于自动化测试方面。

使用方法

1.手机先安装ADBKeyBoard.apk,(下载地址:QQ群512200893群文件可下载),使用adb指令安装apk

adb install [本地电脑apk路径]

2.打开设置-语言输入法-默认输入法,先关掉“硬件-物理键盘”这个选项(模拟器上一般默认是开启的)

3.将ADBKeyBoard输入法设置为默认输入法,这里可以直接用adb命令设置

adb shell ime set com.android.adbkeyboard/.AdbIME

也可以手工去设置ADBKeyBoard输入法为默认输入法

输入中文

1.发送中文文本调用系统的broadcast,用到如下指令

adb shell am broadcast -a ADB_INPUT_TEXT —es msg ‘上海-悠悠’

2.其它的指令

代码语言:javascript
复制
- 输入中文文本
adb shell am broadcast -a ADB_INPUT_TEXT --es msg '上海-悠悠'

- 发送 keyevent 事件  (67 = KEYCODE_DEL)
adb shell am broadcast -a ADB_INPUT_CODE --ei code 67

- 发送编辑器动作 (2 = IME_ACTION_GO)
adb shell am broadcast -a ADB_EDITOR_CODE --ei code 2

- 发送Unicode字符,To send ? Cat

adb shell am broadcast -a ADB_INPUT_CHARS --eia chars '128568,32,67,97,116'

3.adb设置输入法相关指令

代码语言:javascript
复制
通过adb切换到ADBKeyBoard输入法 :

> adb shell ime set com.android.adbkeyboard/.AdbIME   

切换回原虚拟键盘(如切到swype输入法)

> adb shell ime set com.nuance.swype.dtc/com.nuance.swype.input.IME  

检查你的手机可用的虚拟键盘:

> adb shell ime list -a

python代码实现

1.用python实现adb输入中文,封装输入方法

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • ADBKeyBoard
  • 使用方法
  • 输入中文
  • python代码实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档