We are trying to get a UIAutomation test around a flow in our app where a user selects an image from a UIImagePickerController. All the automation works great, until we try
So, I figured this out. Duh. I just needed to access the visible cells and send the tap to one of those. Works like a charm.
window.collectionViews()[0].visibleCells()[0].tap();
I hope this helps someone else!
I fixed this by
app.tables.cells.element(boundBy: 1).tap()
// this table has two rows // 1- Moments // 2- Camera role
app.collectionViews["PhotosGridView"].cells["Photo, Landscape, January 11, 6:34 PM"].tap() // I want to select this item from moments
It is working.
First I pick the moments row, and then I select the photo. Later I click the button choose that confirms the picked image.
let moments = app.tables.cells.element(boundBy: 0)
moments.tap()
sleep(3)
let selectedPhoto = app.collectionViews.element(boundBy: 0).cells.element(boundBy: 0)
sleep(3)
selectedPhoto.tap()
sleep(3)
//Choose Button
let chooseButton = app.buttons.element(boundBy: 1)
chooseButton.tap()
Hope it helps