1

UIAutomator 뷰어에서 마커는 인덱스를 제외하고는 고유하지 않은 것을 볼 수 있습니다.UI Automator에서 Google Maps Marker 마커를 클릭하여 호출하는 방법은 무엇입니까?

UiObject gMap = mDevice.findObject(new UiSelector().descriptionContains("Google Map")); 
UiObject marker = mDevice.findObject(gMap.getSelector().index(1)); 
marker.clickAndWaitForNewWindow(); 

을하지만 클릭은 발생하지 않았다 UI Automator

나는 다음과 같은 방법으로 특정 마커에 클릭을 시뮬레이션하기 위해 노력했다. 마커를 클릭하면 어떻게 시뮬레이트 할 수 있습니까? 2 빨간색 제목이 니펫과 파란색, 어떻게 생성 된 코드를 볼 수 있습니다하지 않습니다 CulebraTester 및 샘플지도 응용 프로그램 (그림 참조) 3 개 마커를 가지고

enter image description here

를 사용

답변

0

다르다.

mDevice.findObject(By.desc("title_of_marker1. snippet_of_marker1.").clazz("android.view.View").text(Pattern.compile("")).pkg("com.example.diego.mymapapplication")).clickAndWait(Until.newWindow(), DEFAULT_TIMEOUT); 
mDevice.findObject(By.desc("title_of_marker2. snippet_of_marker2.").clazz("android.view.View").text(Pattern.compile("")).pkg("com.example.diego.mymapapplication")).clickAndWait(Until.newWindow(), DEFAULT_TIMEOUT); 
mDevice.findObject(By.desc("Google Map").clazz("android.view.View").text(Pattern.compile("")).pkg("com.example.diego.mymapapplication")).clickAndWait(Until.newWindow(), DEFAULT_TIMEOUT); 

제 3 선택기가 너무 광범위하고 모호합니다.

제목이나 스 니펫을 추가해도 문제가없는 것 같습니다.

0

gMap.getSelector()을 사용하지 마십시오. 당신은지도보기

UiObject marker = mDevice.findObject(UiSelector() 
     .descriptionContains("Google Map") 
     .childSelector(UiSelector().instance(1)) 
) 

내부 마커를 검색 할 childSelector를 사용하여 클릭하기 전에 marker.waitForExists(5000)를 사용하려고합니다. 일반적으로지도에 바로 표시되지 않음