我们在编写自动化脚本过程中经常遇到需要设置文本的场景,最常见的就是输入文本然后搜索,就这看似简单的任务,有时候却变得比较困难,因为有的app搜索文本框不是android.widget.EditText控件,甚至有的根本就不是android控件,下面介绍基于冰狐智能辅助平台的设置文本,粘贴文本的完美解决方案。
目标是标准的EditText控件时最简单,只需要调用
函数将文本粘贴进去即可,注意只有EditText及其子控件才可以使用paste函数。冰狐的ui树如下:代码如下:注意:如果设置不成功,请尝试type:'paste',或者先点击选中EditText控件然后再调用paste函数。
如果目标控件不是EditText,就不能直接使用paste函数。此时我们可以使用先把文本复制到系统粘贴板,然后再长按控件弹出菜单,点击粘贴按钮把文本自动输入到目标控件中。
目标界面用ui树抓不到控件,因为该界面大概率是完全自绘制的界面没有用到任何标准Android控件,此时前面两种方法都不能用。正确流程是,先用ocr间接找到目标控件所在的位置,然后,长按弹出粘贴按钮,点击粘贴把文本输入到目标控件
代码如下:
本文介绍了三种在自动化脚本中实现设置文本粘贴文本的方法,基本覆盖了设置文本的所有场景,demo代码可以直接用于实际工程,非常实用,有任何问题,请评论区留言