uiautomator 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 s

请不要改变这个从应用市场下载应用的方法,新增逻辑,方法运行完成后,将各个应用下载详情就是原本return返回的值打印出来,方法如下: def download_AG_app(self, driver): app_name =["抖音(记录美好瞬间)", "小红书"] market_package = "com.huawei.appmarket" try: for i in range(2): driver.press_keycode(187) try: driver.find_element(By.ID, 'com.huawei.android.launcher:id/clear_all_recents_image_button').click() except: pass driver.press_keycode(3) except: pass time.sleep(10) driver.activate_app(market_package) time.sleep(10) self.click_element_with_swipe(driver, target_id='com.huawei.appmarket:id/enter_button', target_text='暂不安装') self.click_element_with_swipe(driver, target_id='android:id/button2', target_text='以后再说') self.swipe_up(driver, swipe_times=3) driver.find_element(By.ID, 'com.huawei.appmarket:id/fixed_search_view').click() time.sleep(3) src_text = driver.find_element(By.ID, "com.huawei.appmarket:id/search_src_text") src_text.set_text(app_name) time.sleep(3) driver.find_element(By.ID, 'com.huawei.appmarket:id/hwsearchview_search_text_button').click() time.sleep(3) result1 = self.click_element_with_swipe(driver, target_id='com.huawei.appmarket:id/ItemTitle', target_text=f'{app_name}', max_swipe=3) # 可以在应用市场搜索到该应用 if result1 == True: time.sleep(5) # 场景1:应用未安装 result2= self.click_element_with_swipe(driver, target_id='com.huawei.appmarket:id/hwprogressbutton_percentage_text_view',target_text='安装') if result2 == True: open_text = (AppiumBy.ANDROID_UIAUTOMATOR, 'new UiSelector().text("打开")') result3=self.wait_element_click(open_text, timeout=300) # 应用规定时间内安装完成 if result3 == True: time.sleep(5) # self.click_element_with_swipe(driver,target_id='com.android.permissioncontroller:id/permission_allow_button',target_text='允许') self.grant_app_all_permission() else: # 下载超时&开发者原因暂不支持下载 self.click_element_with_swipe(driver,target_id='com.huawei.appmarket:id/hwprogressbutton_percentage_text_view',target_text='%') self.go_back(times=3) return { "status": "notime", "app_name": app_name, "reason": f"{app_name}下载超时&开发者原因暂不支持下载 " } # 场景2:应用已存在 else: time.sleep(30) result4 = self.click_element_with_swipe(driver,target_id='com.huawei.appmarket:id/hwprogressbutton_percentage_text_view', target_text='打开') if result4 == True: time.sleep(5) self.click_element_with_swipe(driver, target_id='com.android.permissioncontroller:id/permission_allow_button',target_text='允许') else: update_text = (AppiumBy.ANDROID_UIAUTOMATOR, 'new UiSelector().text("更新")') self.wait_element_click(update_text, timeout=10) open_text = (AppiumBy.ANDROID_UIAUTOMATOR, 'new UiSelector().text("打开")') self.wait_element_click(open_text, timeout=300) self.grant_app_all_permission() else: failure_info = { "status": "fail1", "app_name": app_name, "reason": f"应用市场未找到应用:{app_name}" } self.go_back(times=3) return failure_info
最新发布
10-17
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值