2012-08-14 19 views
0

我試圖模擬使用猴子亞軍和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)座標?
或者至少有一種方法來獲得視圖的父母。

回答

0

問題解決了。最新版本的AndroidViewClient解決了我對視圖的問題。

我可以使用:

view = vc.findViewWithText('Dsiplay') 
view.touch() 
相關問題