1

UIAutomatorビューアでは、マーカにインデックス以外のユニークなものがないことがわかります。 UI AutomatorUI AutomatorでGoogle Maps Markerマーカーのクリックを呼び出す方法は?

私は次のように特定のマーカーをクリックをシミュレートしてみました:

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

しかし、クリックは発生しませんでした。マーカーのクリックをシミュレートするにはどうすればよいですか?タイトルを有し、スニペット2赤と青がない、あなたはどのように生成されたコードを見ることができます:3つのマーカーを有しCulebraTesterとサンプル地図アプリケーション(図示)

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)を使用するようにしてください。通常は地図上にすぐに表示されません

関連する問題