P. Pawluś P. Pawluś - 1 year ago 91
Swift Question

How to pick an image at some index from UIImagePickerController under UITests in Xcode?

Currently I access photo gallery and pick up a photo the following way:

extension XCUIApplication {

func pickPhotoFromImagePickerAtIndex(index: UInt) {


Example of use:


This method crashes sometimes. It depends on photos in gallery.

Is there any way to do this in more elegant and effective way?

Answer Source

I assume, that index you need to tap is counted from the bottom of the collection view. If so, then you can redesign your method:

func pickPhotoFromImagePickerAtInvertedIndex(index: UInt) {

    tables.buttons["Camera Roll"].tap()
    let collectionView = collectionViews["PhotosGridView"]
    collectionView.cells.elementBoundByIndex(collectionView.cells.count - 1 - index).tap()
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download