2012-08-14 4 views
0

원숭이 주자와 Android ViewClient를 사용하여 Android 태블릿에서 클릭을 시뮬레이션하려고합니다. 특정 텍스트가있는 지역 /보기를 클릭하고 싶습니다.monkeyrunner 및 Android ViewClient를 사용하여 지정된 텍스트가 포함 된보기를 클릭하는 방법은 무엇입니까?

  • 을 내가 MonkeyRunner, MonkeyDevice를 가져 스크립트를 from com.dtmilano.android.viewclient import ViewClient
    from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice

  • 은 태블릿을 연결하고 MonkeyDevice 객체를 생성, ViewClient
    : 여기에 내가 할 노력하고있어의 예
    device = MonkeyDevice.waitForConnection()

  • 기기를 사용하여 Android ViewClient 객체를 만듭니다시뮬레이션하여 (
    displayView = findViewWithAttribute('text:mText', 'Display')

  • 그럼 내가 그보기를 클릭하십시오 : vc = ViewClient(device)

  • 나는 그때 사용하여 원하는 뷰를 찾아 내 태블릿 device.startActivity('com.android.settings/.Settings')

  • 을에 설정 앱을 실행 터치 이벤트) :
    displayView.touch()

문제는이 스크립트가 설정 앱의 WiFi 회선 왼쪽 부분에있는 화면의 다른 부분을 터치한다는 것입니다.

ViewClient의 소스 코드를 살펴본 결과 touch() 메소드가 뷰의 (x, y) 좌표를 반환 한 다음 MonkeyDevice.touch() 메서드를 사용함을 확인했습니다. 그러나 반환 된 (x, y) 좌표는 뷰의 부모를 기준으로합니다.

누구든지 뷰 객체의 올바른 (x, y) 좌표를 얻는 방법을 알고 있습니까?
또는 적어도보기의 부모를 얻는 방법.

답변

0

문제가 해결되었습니다. AndroidViewClient의 최신 버전은 내 문제를 뷰로 해결합니다.

내가 사용할 수 있습니다

view = vc.findViewWithText('Dsiplay') 
view.touch()