我有一个类型.Image和类的变量XCUIElement。像这样:
.Image
XCUIElement
var image = app.descendantsMatchingType(.Image).elementAtIndex(0)
有什么方法可以提取实际图像,以便将其与其他图像进行比较?
我尝试过校准该value方法,但是它返回一个字符串。将其强制转换为UIImage总是失败。
value
UIImage
最近,我与Apple Developer Tools传播者进行了一次对话。当前无法从图像视图,按钮等访问实际图像。类似地,无法访问可能感兴趣的视图的其他属性,例如“ isHidden”或“ attributedText”等。告诉UI测试团队的工程师对人们想要访问这些属性的用例感兴趣,因此这对他们和其他想要此功能的人都是非常有用的在https://bugreport.apple.com上提交错误报告/功能请求
作为有关XCUIElement上“ value”属性的提示,至少到目前为止,这似乎映射到XCUIElement所引用的任何视图的“ accessibilityValue”属性。因此,如果将您感兴趣的视图的accessibilityValue设置为包含您感兴趣的某些验证信息,那么这可能会有助于测试。不过要注意两件事:
1)即使XCUIElement的“值”属性的类型为“ id”,accessibilityValue属性的类型也为“ NSString”。我不知道如果您尝试将一些非字符串值(例如图像)强制进入accessibilityValue,然后尝试从XCUIElement的“ value”属性中检索它,那会怎样,但是我怀疑它不能很好地工作。部分原因是:
2)苹果的VoiceOver功能实际上将视图的accessibilityValue属性用于视力受损的人。设置该值后,当用户点击该元素时,它将大声读出(这就是为什么它应该是字符串)的原因。
我还解决了无法通过XCUIElement访问视图属性的问题:http://www.danielhall.io/exploring-the-new-ui- testing-features-of-xcode-7