【问题标题】: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())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2016-12-28
      • 2017-09-29
      • 1970-01-01
      相关资源
      最近更新 更多