【uiautomator2 】第三课:set_text和send_key都输入失败,无法录入对应的值
执行set_text()方法时,可以看到调起键盘了,但输入内容到输入框时,一闪而过,没有输入成功,仍显示默认提示文案。1、如果可以定位到元素,则直接通过set_text就可以输入op_login_phone = d(text="请输入登录账号").set_text("18800000001")op_login_pwd = d(text="请输入登录密码").set_text("123456")2、
·
执行set_text()方法时,可以看到调起键盘了,但输入内容到输入框时,一闪而过,没有输入成功,仍显示默认提示文案。
1、如果可以定位到元素,则直接通过set_text就可以输入
op_login_phone = d(text="请输入登录账号").set_text("18800000001")
op_login_pwd = d(text="请输入登录密码").set_text("123456")
2、如果定位不到元素,需要使用send_keys方法,以及切换输入法
# 切换输入法
d.set_fastinput_ime(True)
op_user_modify = d(className="android.view.View", index=2).send_keys("小迷糊")
d.set_fastinput_ime(False) #输入法用完记得关掉
3、有时候以上2种方式,都无法输入对应内容,猜测可能与客户端对该页面的实现方式有关,在客户端不修改情况下,可以用adb shell input的方式替换这一测试步骤的实现。
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'))
更多推荐
已为社区贡献12条内容
所有评论(0)