2017-10-15 76 views
0

我很努力去識別我如何知道MKMapView在UI測試中顯示當前用戶位置引腳。這是一個MKUserLocation註解(並且我創建了一個MKAnnotationView,以使用圖像代替藍色點的圖像)。在iOS UI測試中,如何識別MKUserLocation註釋?

調試告訴我MKUserLocation註解實例的標題是「我的位置」。我期待下面的工作:

app.maps.element.otherElements["My Location"] 

會返回它,但[代碼] .exists返回false。打印debugDescription of otherElements會在地圖上列出一整套註釋,但不會顯示用戶位置。

是否有不同類型的XCUIElement代表我可以檢查的pin/annotation/annotation視圖?

回答

1

使用輔助功能標籤訪問您的MKAnnotationView。在代碼中,獲取用戶的位置註釋併爲它設置一個輔助標籤:如果你的註釋是可見

app.maps.element.otherElements["labelYouWillUseToFindIt"] 

使用print(app.debugDescription)看到:

yourAnnotation.accessibilityLabel = "labelYouWillUseToFindIt" 

然後在你的測試,你可以做如果不是,則強制它可訪問:

yourAnnotation.isAccessibilityElement = true 

您可以閱讀有關輔助功能標籤的更多信息here

+0

謝謝哈維爾。一旦我將可訪問性標籤添加到註釋視圖中,我實際上可以在調試描述中看到它。它實際上可以通過app.otherElements [「當前位置」]而不是通過app.maps進行檢索。 –