前言

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

ADBKeyBoard

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

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

但是,不能使用此命令发送Unicode字符

usage: input [text|keyevent]
input text
input keyevent

如下这种是不支持的

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 '上海-悠悠'

其它的指令

  • 输入中文文本

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

    appium+python自动化39-adb shell输入中文(ADBKeyBoard)的更多相关文章

    1. Appium+python自动化(十三)- 输入中文 - 一次填坑记(超详解)

      简介 无论你在哪里,在做什么都会遇到很多坑,这些坑有些事别人挖的,有些是自己挖的.别人挖的叫坑人,自己挖的叫自杀,儿子挖的叫坑爹.因此在做app自动化道路上也不会是一帆风顺的,你会踩很多坑,这些坑和你 ...

    2. appium+python自动化61-中文输入乱码问题解决

      前言 在夜神模拟器上输入中文,发现是乱码,将unicodeKeyboard和resetKeyboard参数设置为True了,发现还是没法解决. 打开手机设置语言和输入法,发现找不到Appium And ...

    3. Appium+python自动化8-Appium Python API

      Appium+python自动化8-AppiumPython API   前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts conte ...

    4. Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP

      前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itoo ...

    5. appium+python自动化50-生成定位对象模板templet(jinja2)

      前言 每次自己写pageobject定位元素对象太繁琐,格式都差不多,只是换个定位方法,这种就可以才有模板的方式,批量生成pageobject定位元素对象的模板 python里面生成模板有两个模块可以 ...

    6. Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP【转载】

      前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itoo ...

    7. appium+python自动化52-多点触控MultiAction

      前言 MultiAction是针对多点触控操作的,是TouchAction的一个补充模块 TouchAction用法参考前面的一篇:appium+python自动化33-TouchAction 多点触 ...

    8. Appium+python自动化20-查看iOS上app元素属性

      前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素 Mac版的appium1.6的 ...

    9. Appium+python自动化20-查看iOS上app元素属性【转载】

      前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素Mac版的appium1.6的版 ...

    随机推荐

    1. [ACM][2018南京预赛]Magical Girl Haze

      一.题面 样例输入: 15 6 11 2 21 3 42 4 33 4 13 5 64 5 2 样例输出: 3 二.思路 关键词:分层BFS 考试时觉得题干意思很清晰——求可将k条边赋值为0的最短路. ...

    2. [JSOI2007]建筑抢修——贪心反悔堆

      题目描述 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地里已经有N个建筑设施受到了严重的损伤,如果不尽快修复的话,这些建 ...

    3. HTML+CSS鼠标悬停效果

      HTML+CSS实现鼠标悬停效果 HTML: <link href="style.css" rel="stylesheet"> <a clas ...

    4. 手脱ASPack v2.12变形壳2

      1.PEID载入 ASPack v2.12 2.载入OD,跟之前帖子的入口特征相同,都是一个pushad,但是请不要怀疑这是同一个壳,绝对不是,pushad下一行ESP定律下硬件断点,然后shift+ ...

    5. [Java多线程]-并发,并行,synchonrized同步的用法

      一.多线程的并发与并行: 并发:多个线程同时都处在运行中的状态.线程之间相互干扰,存在竞争,(CPU,缓冲区),每个线程轮流使用CPU,当一个线程占有CPU时,其他线程处于挂起状态,各线程断续推进. ...

    6. zlib解压缩gzip

      zlib是个著名的开源解压缩库,gzip是一种压缩文件格式. zlib可以压缩原始数据并输出gzip文件,gzip文件中除了压缩数据外,还有描述这些数据的文件头,所以当原始数据较小时,会出现zlib的 ...

    7. java面试梳理

      自己整理的有关java面试过的问题,有错的请矫正. 1, Spring的核心思想 控制反转和面向切面的编程 2,Spring的核心模块 反向控制与依赖注入.Bean配置以及加载 3,Scope是什么 ...

    8. Tool1—安装配置Windows Live Writer

      详细步骤请看:http://home.cnblogs.com/group/topic/8550.html . Windows Live Writer手工配置步骤(在博客园配置时输入用户名与密码会自动完 ...

    9. phpcms模板

      cms的样式有很多种,我们学习的是phpcms,这些cms都是大同小异,学会了一种就可以使用其它的cms. PHPCMS是一款网站管理软件.该软件采用模块化开发,支持多种分类方式,使用它可方便实现个性 ...

    10. 搭建cdh单机版版本的hive所遇到的问题总汇

      今天按照网上教程搭建了下 cdh 单机版的 hive  将相关配置记录下来 以便以后方便翻阅 版本 hive-0.13.1-cdh5.3.6.tar.gz 1. 直接解压 然后将 mysql驱动包 拷 ...