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://www.uj5u.com/qita/273627.html
標籤:其他
下一篇:zabbix監控郵箱報警
