uiautomator2項目地址:https://github.com/openatx/uiautomator2#basic-api-usages
下面記錄一些自己在使用過程中的坑,僅供參考
1.通過weditor 明明可以看到text文本框,為什么使用d(text="xx")定位不到
遇到這種情況,先觀察weditor的頁面,能不能直接定位到text的內容,如果不能直接定位到,需要想辦法直接定位到才能執行相關的操作
打個比方:有兩層很薄很薄的紙疊加在一起,一張紙上寫2,一張上面寫1,2在上,1在下,雖然你透過紙可以看到1,但是畢竟隔了一張紙,你必須穿過上面的紙,才能找到第二張紙上面的1
大概就是你想要找的元素不能直接看到,被遮擋了,這時候通過點擊,或者滑動讓你想要找到的元素直接暴露在視野范圍內,然后就可以定位了
如果不能滑動,那請直接通過坐標點擊,不推薦坐標點擊,因為坐標點擊涉及到屏幕分辨率的問題,可能會比較頭疼且容易報錯
2.當你想要定位的元素是動態的怎么辦?
uiautomator2 提供了很多操作辦法,基本上是繼承Android的方法,比如wetcher,Selector
更具體的可以移步:https://developer.android.com/reference/android/support/test/uiautomator/UiSelector (可能需要tz)
這里的文字就不是固定的,且這么矮,用坐標點擊真的是。。爽酸,換個方法:
self.d(textContains="展開全部").click() # 模糊匹配方法,區分大小寫
uiautomator2還是很強大的,歡迎有問題隨時交流~