我有一个类型为.
Image和类XCUIElement的变量.这样的事情
var image = app.descendantsMatchingType(.Image).elementAtIndex(0)
有没有办法我可以提取实际的图像,所以我可以比较它与另一个图像?
我已经尝试加密值方法,但它返回一个字符串.将其投射到UIImage总是失败.
解决方法
最近我和苹果开发者工具传播者谈了这个.目前没有办法从图像视图,按钮等访问实际的图像.类似地,没有办法访问可能感兴趣的视图的其他属性,如“isHidden”或“attributText”等.我是告诉UI UI测试团队的工程师对用户想要访问这些属性的用例感兴趣,所以对于他们以及其他想要此功能的人来说,这是非常有用的 – 如果你愿意在
https://bugreport.apple.com提交一个错误报告/功能请求
作为关于XCUIElement上的“value”属性的提示,至少现在,这似乎映射到XCUIElement引用的任何视图的“accessibilityValue”属性.所以,如果你设置一个视图的accessibilityValue,你有兴趣包含一些你有兴趣验证的信息,那么这可能有助于测试.两件事要注意:
1)即使XCUIElement的“value”属性类型为“id”,accessibilityValue属性的类型为“NSString”.我不知道如果您尝试强制一些非字符串值(如图像)到accessibilityValue中,然后尝试从XCUIElement的“value”属性中检索出来,会发生什么情况,但我怀疑它将无法正常工作.部分原因是:
2)视图的accessibilityValue属性实际上被Apple的VoiceOver功能用于视力障碍者.当值设置时,当用户点击该元素(这是为什么它应该是一个字符串)时,它将被大声读出.
我也通过XCUIElement在这里更详细地介绍了无法访问属性的问题:http://www.danielhall.io/exploring-the-new-ui-testing-features-of-xcode-7