当前位置:主页 > 查看内容

uiautomator set_text()方法输入失败

发布时间:2021-05-15 00:00| 位朋友查看

简介:1.背景 语言选择python 工具选择https://github.com/openatx/uiautomator2 问题在写登录相关的case时输入框内键入要输入的内容时不成功case无法正常执行 d ( resourceId xxx ) . set_text ( 1234 ) 页面如下 执行set_text()方法时可以看到是调起键盘了但输入……

1.背景
语言选择:python
工具选择:https://github.com/openatx/uiautomator2
问题:在写登录相关的case时,输入框内键入要输入的内容时不成功,case无法正常执行

d(resourceId='xxx').set_text('1234')

页面如下:
在这里插入图片描述
执行set_text()方法时,可以看到是调起键盘了,但输入内容到输入框时,一闪而过,
没有输入成功,仍显示默认提示文案。

2.解决思路
换了几个机型、切换到https://github.com/xiaocong/uiautomator工具,都没有成功;
但同模块手机号验证码登录的方式,可以正常输入;
在这里插入图片描述

猜测可能与客户端对该页面的实现方式有关,在客户端不修改情况下,可以用adb shell input的方式
替换这一测试步骤的实现。

3.解决方式
语法:

adb shell input text 136xxxxx

adb shell input的输入逻辑,是在聚焦点的地方输入要输入的内容;
所以在输入用户名、或密码前,先进行点击操作;
代码如下:

d(resourceId='com.../userId_wapper').click()
time.sleep(1)
os.system('adb shell input text {}'.format('136xxxxx'))
d(resourceId='com.../password_wapper').click()
time.sleep(1)
os.system('adb shell input text {}'.format('xxxxx'))

此时可以正常输入用户名、密码了。

;原文链接:https://blog.csdn.net/lujiaxing12/article/details/115487169
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐