前言

在夜神模拟器上输入中文,发现是乱码,将unicodeKeyboard和resetKeyboard参数设置为True了,发现还是没法解决。

打开手机设置语言和输入法,发现找不到Appium Android Input Manager for Unicode输入法导致的

相关环境:

  • appium1.8.1
  • python3.6
  • 手机使用夜神模拟器

遇到问题

加上unicodeKeyboard和resetKeyboard参数后,运行如下代码

# coding=utf-8
from appium import webdriver
import time
desired_caps = {
"platformName": "Android",
"deviceName": "127.0.0.1:62001",
"platformVersion": "4.4.2",
"appPackage": "com.taobao.taobao",
"noReset": True,
"appActivity": "com.taobao.tao.welcome.Welcome",
'unicodeKeyboard': True, # 使用Unicode编码方式发送字符串
'resetKeyboard': True # 隐藏键盘
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").click() time.sleep(5) driver.find_element_by_id("com.taobao.taobao:id/searchEdit").click()
driver.find_element_by_id("com.taobao.taobao:id/searchEdit").send_keys("上海-悠悠")

运行后发现中文输入还是乱码:

解决办法

首先打开手机设置-语言与输入框,看是不是默认Appium Android Input Manager for Unicode

要是找不到这个输入法先从node_modules\appium\node_modules\appium-android-ime\bin路径下找到UnicodeIME-debug.apk文件,复制到桌面上,然后adb安装到手机上

(找不到安装包的去QQ群:330467341,群文件下载)

adb install C:\Users\dell\Desktop\UnicodeIME-debug.apk

安装好之后,去手机设置-语言与输入框把Appium Android Input Manager for Unicode输入法设置为默认就可以了

卸载

如果安装的时候报错,可能之前已经装过,但是安装的有问题,可以先卸载掉之前的UnicodeIME-debug.apk,这个包的包名是io.appium.android.ime

adb uninstall io.appium.android.ime

总结

输入法设置好后,运行上面的代码就可以正常的输入中文了,主要保证以下2点

1.将unicodeKeyboard和resetKeyboard参数设置为True

2.手机设置设置-语言与输入框,Appium Android Input Manager for Unicode设置默认

要是以上方法还是没法解决,估计个别手机冥顽不灵,基本上可以砸核桃了,要是舍不得砸,可以参考这篇【appium+python自动化39-adb shell输入中文(ADBKeyBoard)】

上海-悠悠 QQ交流群:330467341

appium+python自动化61-中文输入乱码问题解决的更多相关文章

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

    前言 上一篇提到"adb shell input textyoyo" 可以通过adb 输入英文的文本,由于不支持unicode编码,所以无法输入中文,github上有个国外的大神写 ...

  2. appium+python自动化62-webview元素click失效问题解决

    前言 Appium 在切换到 webview 后,正确定位到元素,但是click () 事件后界面无响应,脚本运行正常不会报错. 主要原因是:混合APP 时监听全用的是tap事件,不是click事件 ...

  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. Java中FTPClient上传中文目录、中文文件名乱码问题解决方法【好用】

    转: Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 问题描述: 使用org.apache.commons.net.ftp.FTPClient创建中文目录.上传中文文件名时,目录 ...

  8. openerp 7.0邮件接收中文附件乱码问题解决办法

    openerp 7.0邮件接收中文附件乱码问题解决办法: 修改文件\addons\mail\mail_thread.py #1064 line插入代码: h=email.Header.Header(n ...

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

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

随机推荐

  1. wordpress 常用函数-wpdb类

    与数据库建立接口 WordPress为用户提供了一系列用于数据库操作的函数类——wpdb.Wpdb类建立在Justin Vincent编写并维护的ezSQL类的基础上. 使用须知 不可直接调用wpdb ...

  2. Asp.net Vnext 自定义日志

    概述 本文已经同步到<Asp.net Vnext 系列教程 >中] 可以通过自定义日志,把错误消息记录到数据库 实现 在启动文件Startup Configure方法中加入自定义的日志提供 ...

  3. Rookey.Frame之数据库及缓存配置

    上一篇中讨论了Rookey.Frame框架菜单配置功能,这一节我们继续学习Rookey.Frame框架的数据库连接配置. 之前介绍了Rookey.Frame框架支持跨多数据库,并且支持读写分离,不过目 ...

  4. win10字体大小设置

    有时图形化界面不能正常显示,需要改变字体大小来查看 更改字体大小: 更改字体:

  5. 002 使用Appender扩展logger框架

    这个地方,在看公司的源代码的时候,写的知识点: 现在再看,竟然不是太懂,重新写一份新的文档,外加示例说明. 一:说明 1.log4j 环境的三个主要组件: logger(日志记录器):控制要启用或禁用 ...

  6. python opencv3 获取摄像头视频

    git:https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 """ 捕获摄像头10 ...

  7. 下拉框搜索插件chosen

    {% load staticfiles %} <!DOCTYPE html> <html lang="en"> <head> <meta ...

  8. 使用IIS实现反向代理

    IIS的反向代理是通过ARR模块来完成的,ARR模块需要另外安装,而且只能通过Web PlatForm Installer安装.关于安装来源与步骤,帖子已有很多,不做描述.启用“Application ...

  9. LCT维护子树信息

    有些题目,在要求支持link-cut之外,还会在线询问某个子树的信息.LCT可以通过维护虚边信息完成这个操作. 对于LCT上每个节点,维护两个两sz和si,后者维护该点所有虚儿子的信息,前者维护该点的 ...

  10. [BZOJ3309]DZY Loves Math(莫比乌斯反演+线性筛)

    $\sum\limits_{T=1}^{n}\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor\sum\limits_{d|T}f(d)\mu(\fr ...