원숭이 주자와 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) 좌표를 얻는 방법을 알고 있습니까?
또는 적어도보기의 부모를 얻는 방법.