我很难确定MKMapView是如何在UI测试中显示当前用户位置引脚的。这是一个MKUserLocation注释(我创建了一个MKAnnotationView,用于为引脚而不是蓝色点使用图像)。
调试告诉我,MKUserLocation注释实例的标题是“annotation”。我原以为以下几点会奏效:
app.maps.element.otherElements["My Location"]将返回它,但code.exists返回false。打印debugDescription of otherElements在地图上列出了一整套注释,但没有列出用户位置。
是否有不同类型的XCUIElement表示我可以检查的引脚/注释/注释视图?
发布于 2017-10-15 21:11:19
使用辅助功能标签访问MKAnnotationView。在代码中,检索用户位置注释并为其设置可访问性标签:
yourAnnotation.accessibilityLabel = "labelYouWillUseToFindIt"然后,在您的测试期间,您可以:
app.maps.element.otherElements["labelYouWillUseToFindIt"]使用print(app.debugDescription)查看您的注释是否可见,如果不是,则强制使用以下方法访问它:
yourAnnotation.isAccessibilityElement = true您可以阅读更多有关辅助功能标签这里的信息。
https://stackoverflow.com/questions/46759246
复制相似问题