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)的主要内容,如果未能解决你的问题,请参考以下文章

iOS/Swift 中的 UI 测试

关于属性值 iOS/Swift 的 UI 测试

在所有 ViewControllers swift ios 11 中添加背景图像的最佳实践

iOS/Swift:用于 UI 测试的“没有这样的模块...”

(使用 Swift 进行 UI 测试)获取活动应用程序列表失败:AX 错误 -25205

iOS - UI 测试在 UITableViewCell 中查找图像