iOS UI 测试:获取图像文件名 (Swift)
Posted
技术标签:
【中文标题】iOS UI 测试:获取图像文件名 (Swift)【英文标题】:iOS UI Test: Get image filename (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
有没有办法得到这个值?
谢谢大家!
【问题讨论】:
***.com/questions/1740274/… 的可能重复项。 【参考方案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())
【讨论】:
以上是关于iOS UI 测试:获取图像文件名 (Swift)的主要内容,如果未能解决你的问题,请参考以下文章
在所有 ViewControllers swift ios 11 中添加背景图像的最佳实践
iOS/Swift:用于 UI 测试的“没有这样的模块...”