ios – XCUIElement – 获取图像值

我有一个类型为. 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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...