appium+python自动化61-中文输入乱码问题解决
前言
在夜神模拟器上输入中文,发现是乱码,将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-中文输入乱码问题解决的更多相关文章
- appium+python自动化39-adb shell输入中文(ADBKeyBoard)
前言 上一篇提到"adb shell input textyoyo" 可以通过adb 输入英文的文本,由于不支持unicode编码,所以无法输入中文,github上有个国外的大神写 ...
- appium+python自动化62-webview元素click失效问题解决
前言 Appium 在切换到 webview 后,正确定位到元素,但是click () 事件后界面无响应,脚本运行正常不会报错. 主要原因是:混合APP 时监听全用的是tap事件,不是click事件 ...
- Appium+python自动化8-Appium Python API
Appium+python自动化8-AppiumPython API 前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts conte ...
- Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP
前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itoo ...
- appium+python自动化50-生成定位对象模板templet(jinja2)
前言 每次自己写pageobject定位元素对象太繁琐,格式都差不多,只是换个定位方法,这种就可以才有模板的方式,批量生成pageobject定位元素对象的模板 python里面生成模板有两个模块可以 ...
- Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP【转载】
前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itoo ...
- Java中FTPClient上传中文目录、中文文件名乱码问题解决方法【好用】
转: Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 问题描述: 使用org.apache.commons.net.ftp.FTPClient创建中文目录.上传中文文件名时,目录 ...
- openerp 7.0邮件接收中文附件乱码问题解决办法
openerp 7.0邮件接收中文附件乱码问题解决办法: 修改文件\addons\mail\mail_thread.py #1064 line插入代码: h=email.Header.Header(n ...
- appium+python自动化52-多点触控MultiAction
前言 MultiAction是针对多点触控操作的,是TouchAction的一个补充模块 TouchAction用法参考前面的一篇:appium+python自动化33-TouchAction 多点触 ...
随机推荐
- 使用EasyWechat快速开发微信公众号支付
前期准备: 申请微信支付后, 会收到2个参数, 商户id,和商户key.注意,这2个参数,不要和微信的参数混淆.微信参数: appid, appkey, token支付参数: merchant_id( ...
- Java小实验之数据转换
看到有人问如图的程序,就去写了几行代码,顺便复习一下条件语句和ASCII码 import java.util.Scanner; public class test1 { public static v ...
- HttpService与WebService的差异
httpservice通过post和get得到你想要的东西webservice就是使用soap协议得到你想要的东西,相比httpservice能处理些更加复杂的数据类型 当你要调用一个你本服务的内容的 ...
- CCF CSP 201409-4 最优配餐
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201409-4 最优配餐 问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务.随着连锁店越来越 ...
- Java学习(异常类练习题)
练习题: 1.计算圆的面积,半径不能为零和负数 package com.oracle.Demo01; public class Demo02 { // 写一个计算圆的面积的方法,传一个半径,返回面积 ...
- day6 ConfigParser模块 yaml模块
yaml模块: python可以处理yaml文件,yaml文件安装的方法为:$ pip3 install pyyaml configparser模块,用来处理文件的模块,可以实现文件的增 ...
- php判断是否是ajax提交 方法
/** * 判断是否是AJAX提交 * @return bool */ function is_ajax() { if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) ...
- 30:最小的K个数
import java.util.ArrayList; import java.util.TreeSet; /** * 面试题30:最小的K个数 * 输入n个整数,找出其中最小的K个数.例如输入4,5 ...
- CSU - 2062 Z‘s Array
Description Z likes to play with array. One day his teacher gave him an array of n elements, and ask ...
- python面向对象中类对象、实例对象、类变量、实例变量、类方法、实例方法、静态方法
1. 类对象和实例对象 Python中一切皆对象,Python类本身也是一种对象,类定义完成后,会在当前作用域中定义一个以类名为名字的命名空间.类对象具有以下两种操作: 可以通过“类名()”的方式实例 ...