我試圖模擬使用猴子亞軍和Android ViewClient的Android平板電腦上的點擊。我想點擊具有特定文本的區域/視圖。下面是我想要做的一個例子:如何使用monkeyrunner和Android ViewClient單擊包含指定文本的視圖?
我有一個劇本,我導入MonkeyRunner,MonkeyDevice,ViewClient
from com.dtmilano.android.viewclient import ViewClient
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
連接平板電腦並創建一個MonkeyDevice對象
device = MonkeyDevice.waitForConnection()
使用設備我然後創建一個Android ViewClient對象
vc = ViewClient(device)
我打開我的平板電腦
device.startActivity('com.android.settings/.Settings')
設置應用程序,然後我用找到所需的視圖:
displayView = findViewWithAttribute('text:mText', 'Display')
然後我嘗試點擊該視圖(通過模擬觸摸事件):
displayView.touch()
問題是,此腳本觸摸了屏幕的另一部分,位於設置應用程序的WiFi行左側的某處。
我查看了ViewClient的源代碼,發現touch()方法返回視圖的(x,y)座標,然後使用MonkeyDevice.touch()方法。但返回的(x,y)座標相對於視圖的父級。
有沒有人知道如何獲得視圖對象的正確(x,y)座標?
或者至少有一種方法來獲得視圖的父母。