前言

在夜神模拟器上输入中文,发现是乱码,将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. 动态规划面试题基础合集1--数学三角形,LIS , LCS, CSD

    动态规划的一般思路是分为四步,即:寻找最优子结构.递归定义最优子结构.自底向上求解最优子结构和构造最优解. 接下来我列举出几个常见的动态规划面试题进行说明. (1)数学三角形:比较简单,直接贴一个我看 ...

  2. EFK收集Kubernetes应用日志

    本节内容: EFK介绍 安装配置EFK 配置efk-rbac.yaml文件 配置 es-controller.yaml 配置 es-service.yaml 配置 fluentd-es-ds.yaml ...

  3. HP 打印机监控

    http://www.ttlsa.com/zabbix/zabbix-monitor-hp-printer/ https://www.cnblogs.com/losbyday/articles/583 ...

  4. sicily 1198. Substring (递归全排列+排序)

    DescriptionDr lee cuts a string S into N pieces,s[1],…,s[N]. Now, Dr lee gives you these N sub-strin ...

  5. HandlerExceptionResolver统一异常处理 返回JSON 和 ModelAndView

    统一异常处理类的两种方式一种是前后分离,一种是一整套集合返回指定到指定的错误页面显示错误信息 1.由于前后分离,是统一返回JSON的格式 自定义Exception public class Bussi ...

  6. Bootstrap入门八:图片

    1.响应式图片 在 Bootstrap 版本 3 中,通过为图片添加 .img-responsive 类可以让图片支持响应式布局.其实质是为图片设置了 max-width: 100%;. height ...

  7. 【SQL】178. Rank Scores

    Write a SQL query to rank scores. If there is a tie between two scores, both should have the same ra ...

  8. 1013 Battle Over Cities (25)(25 point(s))

    problem It is vitally important to have all the cities connected by highways in a war. If a city is ...

  9. python 发送邮件(收到的邮件要有发送方才能回复)

    Python使用SMTP(简单邮件传输协议)发送邮件 普通文本邮件 普通文本邮件发送的实现,关键是要将MIMEText中_subtype设置为plain ## -*- coding: UTF-8 -* ...

  10. loj6089 小 Y 的背包计数问题

    link 吐槽: 好吧开学了果然忙得要死……不过为了证明我的blog还没有凉,还是跑来更一波水题 题意: 有n种物品,第i种体积为i,问装满一个大小为n的背包有多少种方案? $n\leq 10^5.$ ...