0

我正在努力确定如何判断 MKMapView 在 UI 测试中显示当前用户位置图钉。这是一个 MKUserLocation 注释(我创建了一个 MKAnnotationView 来使用图像作为图钉而不是蓝点。)

调试告诉我 MKUserLocation 注释实例的标题为“我的位置”。我期待以下内容会起作用:

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

会返回它,但 [that code].exists 返回 false。打印 otherElements 的 debugDescription 会在地图上列出一整套注释,但不会列出用户位置。

是否有不同类型的 XCUIElement 代表我可以检查的 pin/annotation/annotation 视图?

4

1 回答 1

1

使用可访问性标签访问您的MKAnnotationView. 在您的代码中,检索您的用户位置注释并为其设置可访问性标签:

yourAnnotation.accessibilityLabel = "labelYouWillUseToFindIt"

然后在您的测试期间,您可以执行以下操作:

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

用于print(app.debugDescription)查看您的注释是否可见,如果不可见,则强制它可通过以下方式访问:

yourAnnotation.isAccessibilityElement = true

您可以在此处阅读有关可访问性标签的更多信息

于 2017-10-15T21:11:19.153 回答