iOS 用户界面测试 : Get image filename (Swift)

标签 ios swift xcode uiimage xcode-ui-testing

我的问题是关于获取 UIImageView 中使用的 UIImage 图像的文件名。

这是我的示例代码:

// Using image from UIImageObject
imageView1.image = myUIImage
// Using image from XAssets
imageView2.image = UIImage(named: "myImageName")

在 UI 测试中,如何获取图像文件的名称? 预期的结果是:

"myUImageObject" // For imageView1 
"myImageName" // For imageView2

有什么办法可以得到这个值吗?

谢谢大家!

最佳答案

不幸的是你不能这样做,但是有一个简单的解决方法,试试这样的事情:

let myImageView = UIImageView()
myImageView.image = UIImage(named: "anyImage")
myImageView.restorationIdentifier = "anyImage" // Same name as image's name!

// Later, in UI Tests:
print(myImageView.restorationIdentifier!) // Prints "anyImage"

基本上,在此解决方案中,您使用恢复标识符来保存图像的名称,因此您以后可以在任何地方使用它。如果更新图像,则还必须更新恢复标识符,如下所示:

myImageView.restorationIdentifier = "newImageName"

希望对你有所帮助,祝你好运!

关于iOS 用户界面测试 : Get image filename (Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44131393/

相关文章:

ios - NSURLResponse 返回内容范围,忽略我要求的范围

ios - 如何使用 iOS Graph API 从 Facebook 相册中获取更大的图像?

objective-c - 如何在apple Watch App中模拟Local Notification?

ios - 如何根据 UICollectionView 的部分以编程方式更新标签

swift 3 : Change item in dictionary

iphone - 在 Xcode 静态库中包含框架吗?

ios - Swift - 将函数分配给工具栏按钮项

ios - 如何在 Swift 中使用 NSURLSession downloadTask 顺序下载多个文件

ios - 如何限制我的对象在 iOS 中只调用一次方法?

swift - 泛型的嵌套类型约束