XCUIElement – 获取图像值

我有一个types为XCUIElement和类XCUIElement 。 像这样的东西:

var image = app.descendantsMatchingType(.Image).elementAtIndex(0)

有没有一种方法可以提取实际的图像,所以我可以将它与另一个图像进行比较?

我已经试过调整value方法,但它返回一个string。 将其转换为UIImage总是失败。

我最近和苹果开发者工具传道人就此交谈过。 目前还没有从图像视图,button等访问实际图像的方法。同样,没有办法访问其他可能感兴趣的视图属性,如“isHidden”或“attributedText”等。我是告诉UItesting团队的工程师对人们想要访问这些属性的用例感兴趣,所以这对于他们和其他想要这个function的人来说都是非常有用的 – 如果你愿意的话通过https://bugreport.apple.com提交一个错误报告/function请求

作为关于XCUIElement上的“value”属性的一个提示,至less现在看起来映射到XCUIElement引用的任何视图的“accessibilityValue”属性。 所以如果你设置一个你感兴趣的视图的accessibilityValue来包含你有兴趣validation的信息,那么这可能有助于testing。 有两点需要注意:

1)即使XCUIElement的“value”属性是“id”types,accessibilityValue属性的types也是“NSString”。 我不知道如果你试图强制一些非string值(如图像)到accessibilityValue,然后尝试从XCUIElement的“值”属性中检索它会发生什么,但我怀疑它不会工作。 部分原因是:

2)视图的accessibilityValue属性实际上是由Apple的VoiceOverfunction用于视力受损的。 当这个值被设置的时候,当用户点击那个元素时会被大声朗读(这就是为什么它应该是一个string)。

我还介绍了无法通过XCUIElement更详细地访问视图属性的问题: http ://www.danielhall.io/exploring-the-new-ui-testing-features-of-xcode-7