在 iOS UI 测试中,如何识别 MKUserLocation 注释?
In iOS UI Testing, how do I identify the MKUserLocation annotation?
我正在努力确定如何判断 MKMapView 在 UI 测试中显示当前用户位置 pin。这是一个 MKUserLocation 注释(我已经创建了一个 MKAnnotationView 以使用图像作为图钉而不是蓝点。)
调试告诉我 MKUserLocation 注释实例的标题为 "My Location"。我期待以下内容会起作用:
app.maps.element.otherElements["My Location"]
会 return 但 [那个代码]. 存在 return 是错误的。打印 debugDescription of otherElements 会列出地图上的一整套注释,但不会列出用户位置。
是否有不同类型的 XCUI元素代表我可以检查的 pin/annotation/annotation 视图?
使用辅助功能标签访问您的MKAnnotationView
。在您的代码中,检索您的用户位置 annotation 并为其设置可访问性标签:
yourAnnotation.accessibilityLabel = "labelYouWillUseToFindIt"
然后在你的测试中你可以做:
app.maps.element.otherElements["labelYouWillUseToFindIt"]
使用 print(app.debugDescription)
查看您的注释是否可见,如果不可见,强制使用以下方式访问它:
yourAnnotation.isAccessibilityElement = true
您可以阅读有关辅助功能标签的更多信息here
我正在努力确定如何判断 MKMapView 在 UI 测试中显示当前用户位置 pin。这是一个 MKUserLocation 注释(我已经创建了一个 MKAnnotationView 以使用图像作为图钉而不是蓝点。)
调试告诉我 MKUserLocation 注释实例的标题为 "My Location"。我期待以下内容会起作用:
app.maps.element.otherElements["My Location"]
会 return 但 [那个代码]. 存在 return 是错误的。打印 debugDescription of otherElements 会列出地图上的一整套注释,但不会列出用户位置。
是否有不同类型的 XCUI元素代表我可以检查的 pin/annotation/annotation 视图?
使用辅助功能标签访问您的MKAnnotationView
。在您的代码中,检索您的用户位置 annotation 并为其设置可访问性标签:
yourAnnotation.accessibilityLabel = "labelYouWillUseToFindIt"
然后在你的测试中你可以做:
app.maps.element.otherElements["labelYouWillUseToFindIt"]
使用 print(app.debugDescription)
查看您的注释是否可见,如果不可见,强制使用以下方式访问它:
yourAnnotation.isAccessibilityElement = true
您可以阅读有关辅助功能标签的更多信息here