Search code examples
iosobjective-cuiimageviewxctestxcode-ui-testing

How to test UIImageView elements in iOS XCTest?


I'm trying to test my UIs using XCTest UI testing, and having troubles of testing UIImageViewsI have in my app (hit tests, presence etc).

In the list of the XCUIElementType there is no such type, and when I look at the children of the superview my UIImageViews are not listed there for some reason eventhough I can see them on screen and in the UI inspector in the Xcode.

Has anyone had this kind of problem?


Solution

  • Assert the presence of an image by its accessibility label.

    Production Code

    let image = UIImage(named: "profile")
    let imageView = UIImageView(image: image)
    imageView.accessibilityIdentifier = "Your profile image"
    

    UI Test Code

    let app = XCUIApplication()
    XCTAssert(app.images["Your profile image"].exists)