【问题标题】:iOS UI Test: Get image filename (Swift)iOS UI 测试:获取图像文件名 (Swift)
【发布时间】:2017-05-23 09:49:54
【问题描述】:
我的问题是关于获取在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
有没有办法得到这个值?
谢谢大家!
【问题讨论】:
标签:
ios
swift
xcode
uiimage
xcode-ui-testing
【解决方案1】:
很遗憾,您不能这样做,但是有一个简单的解决方法,请尝试以下操作:
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"
希望对你有帮助,祝你好运!
【解决方案2】:
斯威夫特 4
声明出口
@IBOutlet weak var m_SetName_Img: UIImageView! //Image is already set image from Assets File
声明函数
extension UIImageView {
func getImageName() -> String {
if let image = self.image, let imageName = image.accessibilityIdentifier {
return imageName
} else {
return "nil"
}
}
}
使用
print(self.m_SetName_Img.getImageName())