我们使用app时,输入文字都是调用软键盘。在自动化测试中当然也可以调用软键盘,但是由于输入法设计上的差异,有时候不能达到很好的效果。

例如,搜狗拼音输入法:

选择4-咖啡,然而多打几次,输入法就把“咖啡”当成高频词汇,有可能把这个词放在1或2或3,而这一点代码是很难捕捉到的。

因此,我们选择send_keys()绕过软键盘,用unicode编码方式来输入文字。


1. 在初始化时添加两行代码:

  • unicodeKeyboard是使用unicode编码方式发送字符串
  • resetKeyboard是将键盘隐藏起来

2. 在需要输入文字的地方这样使用:

self.driver.find_element_by_id("id/publish_title").send_keys("随便起名字")

3. 还原设置

打开手机设置,找到输入法设置选项,会发现默认的输入法被改成appium的输入法了,改成自己原来的输入法就好了。

用send_keys输入文本的方法的更多相关文章

  1. EditControl 限制输入文本的三种方法

    下边是三种限制编辑框输入内容的方法.在VS里建立基于对话框的应用程序CMyEdit,打开资源视图,删除对话框上自带的确定和取消按钮.然后添加一编辑框控件,将其ID修改为IDC_MY_EDIT,通过类向 ...

  2. EPLAN文本输入怎么转行,路径功能文本换行方法

    EPLAN文本输入怎么转行,路径功能文本换行方法 在输入文本时,按CTRL+ENTER可以将字体换行 Ctrl+回车键

  3. Android实现Filterable通过输入文本框实现联系人自动筛选

    相信大家一定在见过手机通讯录的一个情景就是使用在选人的时候输入文本框里的数据就能自动筛选.实现的效果如下图. 其实实现这样的效果相信大家一定对另外一个控件不陌生那就AutoCompleteTextvi ...

  4. iOS(Swift) TextField限制输入文本的长度(不是字数)

    最近做项目有一个特殊需求,就是需要限制一个TextField的输入文本的长度在一定范围内(注意,不是字数),上网查了一圈没有找到类似文章,这里把我的方法写进来,mark一下: 1.对TextField ...

  5. 更改IOS于UISearchBar撤消button底、搜索输入文本框背景中的内容和UISearchBar底

    转载请标明出处:http://blog.csdn.net/android_ls/article/details/39993433 測试的手机IOS系统版本为:6.1.3,实现过程例如以下: 1.加入U ...

  6. tensorflow实现基于LSTM的文本分类方法

    tensorflow实现基于LSTM的文本分类方法 作者:u010223750 引言 学习一段时间的tensor flow之后,想找个项目试试手,然后想起了之前在看Theano教程中的一个文本分类的实 ...

  7. moodle中的完形填空题的文本编写方法

    moodle中的完形填空题的文本编写方法 [完形填空题]考题把一段文字挖去一些空,让考生根据上下文正确地完成这些填空.完型填空题中的一段短文可以包括各种题目,如选择,填空,和数字题等. 题目的编辑是在 ...

  8. 在ChemDraw中输入千分号的方法

    很多的用户都会使用ChemDraw化学绘图工具来绘制一些化学反应的过程,但是一些化合物中有些元素所占的比例是非常小的,这个时候往往就需要千分号来显示比例.但是在ChemDraw的工具栏上只有百分号没有 ...

  9. 在MathType中输入罗马数字的方法

    MathType作为数学公式编辑器的编辑功能非常的强大,其中包含了许许多多各种各样的数学符号,甚至标记符号也很全面.编辑公式时有时为了让公式看起来会更有条理,会进行一定的序号设置,当然也可以对公式进行 ...

随机推荐

  1. Python3.6使用Pyqt5编写GUI程序

    Python3.6使用Pyqt5编写HTTP测试工具 程序非常简单,使用PYQT5搭建好UI,然后用PyUIC生成Python文件,Mac中使用Pycharm+Python3.6+Pyqt5搭建教程在 ...

  2. Python2.7-xdrlib

    xdrlib模块,用于打包和解包 xdr 数据.XDR 提供了一种与体系结构无关的表示数据,解决了数据字节排序的差异.数据字节大小.数据表示和数据对准的方式.使用XDR的应用程序,可以在异构硬件系统上 ...

  3. $Simpson$积分入门

    \(\rm{0x01}\) 前言 首先阐明一点,自适应辛普森算法(\(\rm{Adaptive ~Simpson's~ rule}\) )是一类近似算法(\(\rm{Approximation ~al ...

  4. python3 Beautifulsoup <class 'bs4.element.ResultSet'> <class 'bs4.element.Tag'> 取值

    1.<class 'bs4.element.ResultSet'>  这里是字典外套了一个列表  textPid = pid[0] 2.<class 'bs4.element.Tag ...

  5. chrome调试如何禁用浏览器缓存

    0.写在前面的话 遇到过很多很多次,修改了页面代码,但是程序始终没有按照设想的方向走,有时候折腾了几个小时,发现问题最后却是莫名其妙恢复的.后来进一步调试发现,自己已经修改了如js代码,但是前端在载入 ...

  6. 注冊成为Windows Phone开发人员而且解锁Windows Phone 8.1手机

    注冊成为Windows Phone开发人员而且解锁Windows Phone 8.1手机 上篇文章介绍了怎样使用Qt Creator和Visual Studio构建Windows Phone 8.1应 ...

  7. Ubuntu系统上双节点部署OpenStack

    安装和部署双节点OpenStack 介绍: 1.宿主机:Win10操作系统 2.在VMware下创建两台虚拟机: devstack-controller:控制节点 + 网络节点 + 块存储节点 + 计 ...

  8. Trusted Cloud Summit(2018.08.14)

    时间:2018.08.14地点:北京国际会议中心

  9. Java基础—异常

    一.概念 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 异常体 Throwable:所有异常类的超类  Error:它表示不希望被程序捕获或者是程序无法处理的错误 ...

  10. 20155317《网络对抗》Exp4 恶意代码分析

    20155317<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用 ...