博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最近在整appium自动化的事情,遇到一个虚拟键盘的问题,折腾了好几天解决了,给大家分享一下...
阅读量:5096 次
发布时间:2019-06-13

本文共 789 字,大约阅读时间需要 2 分钟。

需求:最近app改版,一个页面的搜索输入框原本是有一个搜索按钮的,现在取消了,原有的自动化代码中该按钮找不到了,不得不使用虚拟键盘的搜索键来替代。

 

遇到的问题:

​我的代码中pressKeyCode(AndroidKeyCode.KEYCODE_ENTER)方法执行出现了异常,AndroidKeyCode.KEYCODE_ENTER,AndroidKeyCode.ENTER这两个键值执行的效果变成了长按,导致我的代码中页面不停的往下滑动,加载。其他的类似于AndroidKeyCode.KEYCODE_search等按键均无法达到输入搜索的结果。

ps:有可能是app里面的代码逻辑跟虚拟按键有冲突,但是测试下来没发现什么问题,可能是我开发能力不够找不到问题所在吧。

 

解决过程:

一开始的时候经过反复尝试各类键值,各种pres以及longpress方法等,均没有达到预期效果,后面看到网上几篇帖子的思路,准备拉起虚拟键盘来操作按键。又发现appium自带的输入法没有虚拟键盘,最后只好切换到其他输入法来操作,然而输入法的虚拟键盘没有常规的text、content-desc、resourc-id、index等控件属性,只好通过模拟点击指定区域坐标来实现。

 

具体实现思路:切换输入法到手机安装的搜狗输入法,拉起虚拟键盘,通过点击屏幕的指定区域坐标来实现点击“搜索”按钮的效果,点击完成只好切回appium自带输入法。

 

具体代码就不贴了。

 

 

 

 

参考文档如下:

http://blog.sina.com.cn/s/blog_bd6a57440102wm6s.html

http://blog.csdn.net/niubitianping/article/details/52624417

转载于:https://www.cnblogs.com/sim-lq/p/6149540.html

你可能感兴趣的文章
java常用的包
查看>>
PHP批量覆盖文件并执行cmd命令脚本
查看>>
Unity之fragment shader中如何获得视口空间中的坐标
查看>>
支持向量机——内核
查看>>
MFC注册热键
查看>>
万能的SQLHelper帮助类
查看>>
三种方式创建Angular的自定义服务
查看>>
如何在 Terminal 内可以“用惯用的编辑器”快速打开“目前正在做”的专案(project)呢?...
查看>>
uboot分析:uboot的启动过程分析
查看>>
tmux的简单快捷键
查看>>
springboot笔记04——读取配置文件+使用slf4j日志
查看>>
[Swift]LeetCode653. 两数之和 IV - 输入 BST | Two Sum IV - Input is a BST
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
微信小程序的wxml文件和wxss文件在webstrom的支持
查看>>
SaltStack快速部署及测试
查看>>
[Angular] Architectures for Huge Angular Based Enterprise
查看>>
[Git] set-upstream
查看>>
[AngularJS] Best Practise - Minification and annotation
查看>>
[AngularJS] Lazy Loading modules with ui-router and ocLazyLoad
查看>>
关于移动端rem适配
查看>>