前言

在做app自动化过程中会踩很多坑,咱们都是用的中文的app,所以首先要解决中文输入的问题!

本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题。

一、定位搜索

1.打开淘宝点搜索按钮,进入到搜索页面

2.然后定位到搜索框后用sendkeys方法输入“hao”,这里定位元素用第四篇讲的uiautomatorviewer工具就可以了

3.脚本如下图

二、运行脚本

1.首先要确认手机上的输入法是用的什么输入法,如果默认是中文的输入法,启动后会出现下面情况,无法输入成功

2.于是可以先把手机上的输入法改成英文的状态,这样就可以输入英文字符串了。那么问题来了,如果想输入中文的字符串呢?如何解决。。。

三、屏蔽软键盘

1.通过前面的操作,大概可以知道,在APP里面输入字符串是调用的软键盘输入的,有没办法像selenium做web自动化时候一样,直接sendkeys绕过键盘输入呢?

2.于是可以想办法屏蔽软键盘,只需在desired_caps{}设置里面加两个参数(敲黑板,记重点!)

3.unicodeKeyboard是使用unicode编码方式发送字符串

4.resetKeyboard是将键盘隐藏起来

四、输入中文字符

1.将上面代码改成输入中文u“上海-悠悠”,然后运行脚本,在手机上查看结果。(python2中文前面要加个u)

2.运行后手机上显示如下

3.如果显示中文字符为乱码时:

前面加上“#--coding:gb18030--” 如下图所示:

五、还原设置

1.当运行上面的脚本后,发现手动去输入时候,无法调出软键盘了,如何恢复呢?

2.打开手机设置,找到输入法设置选项,会发现默认的输入法被改成appium的输入法了。所以只需把这里的设置,恢复成原来输入法就OK拉。

1472636268159561.png713x676 31 KB

六、最终脚本如下

# coding=utf-8

from appium import webdriver

import time

desired_caps = {

'platformName': 'Android',

'deviceName': '30d4e606',

'platformVersion': '5.0',

'appPackage': 'com.taobao.taobao',

'appActivity': 'com.taobao.tao.welcome.Welcome',

'unicodeKeyboard': True,

'resetKeyboard': True

}

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

# 休眠五秒等待页面加载完成

time.sleep(5)

driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").click()

time.sleep(2)

driver.find_element_by_id("com.taobao.taobao:id/searchEdit").click()

driver.find_element_by_id("com.taobao.taobao:id/searchEdit").send_keys(u"上海-悠悠")

在学习过程中有遇到疑问的,可以加appium+python QQ群交流:330467341

Appium+python自动化7-输入中文的更多相关文章

  1. Appium + Python自动化3 - 输入中文

    在做app自动化过程中会踩很多坑,咱们都是用中文的app,所以首先要解决中文输入的问题!本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题. 一.定位搜索 1.打开淘宝点击搜索按钮,进入搜索页 ...

  2. Appium+python自动化7-输入中文【转载】

    前言 在做app自动化过程中会踩很多坑,咱们都是用的中文的app,所以首先要解决中文输入的问题! 本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题. 一.定位搜索 1.打开淘宝点搜索按钮,进 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. **IOS自动完成(搜索自动提示)功能实现

    UISearchBar搜索AutoComplete下拉列表搜索提示 http://www.codeios.com/thread-10685-1-1.html 介绍:     在搜索框上加入下拉列表.在 ...

  2. pytest mark中的skip,skipif, xfail

    这些测试的过滤,或是对返回值的二重判断, 可以让测试过程更精准,测试结果更可控, 并可以更高层的应用测试脚本来保持批量化执行. import pytest import tasks from task ...

  3. Metronic4.7.5 下载 HTML5 UI后台管理框架

    Metronic 是一套精美的响应式后台管理模板,基于强大的 Twitter Bootstrap 3.3.4 框架实现.Metronic 拥有简洁优雅的 Metro UI 风格界面,6 种颜色可选,7 ...

  4. Asp.net MVC4 +EF6开发的个人网站源码和介绍(仅供新手学习)

    本项目是我去年利用业余时间开发的,采用的是asp.net mvc 4 +EF6+三层架构,适合新手进行学习,高手就没有什么价值了,可以直接跳过. 源码和数据库下载(已上传到git):https://g ...

  5. Django第一步

    对于一个web框架,掌握了三部分的内容,就可以说是迈出了第一步. 1. 准备开发环境 2. 创建一个工程,并运行 3. 开发hello world应用 1. 准备环境 首先应该是安装python和dj ...

  6. iOS开发之app打包发布流程

    一.准备工作 苹果开发者中心 1.申请苹果开发者账号 首先需要申请苹果开发者账号才能在APP store 里发布应用. 开发者账号分类:(1)个人开发者账号 (2)企业开发者账号 主要的区别是:点击这 ...

  7. 《Android源码设计模式》--策略模式

    No1: 定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化. No2: 使用场景: 1)针对同一类型问题的多种处理方式,仅 ...

  8. 今日头条高级后端开发实习生三轮技术面+HR面 面经

    二面结束后已经意识模糊,好多问过的东西都忘了,而且有一些基础知识就不在这写了,大部分公司都问的差不多... 一面(2018/03/27,11:00~11:50) 1:自我介绍 2:简单说说你这个项目吧 ...

  9. OpenGL 笔记<3> 数据传递 一

    Sending data to a shader using vertex attributes and vertex buffer object 上次我们说到着色器的编译和连接,后面的事情没有做过多 ...

  10. 特征向量、特征值以及降维方法(PCA、SVD、LDA)

    一.特征向量/特征值 Av = λv 如果把矩阵看作是一个运动,运动的方向叫做特征向量,运动的速度叫做特征值.对于上式,v为A矩阵的特征向量,λ为A矩阵的特征值. 假设:v不是A的速度(方向) 结果如 ...