如何使用UIAutomation从UIImagePickerController中选择图像

我们正试图在我们的应用程序中围绕流程进行UIAutomation测试,用户从UIImagePickerController中选择一个图像。 在我们尝试从拾取器控制器中选择图像之前,所有自动化都很有效。 似乎我们无法获得正确的对象来发送水龙头。 这是我们正在尝试的:

UIALogger.logMessage("Navigation Title: " + app.navigationTitle() ); window.collectionViews()[0].tapWithOptions({tapOffset:{x:0.5, y:0.5}}); 

以上将导航标题显示为“Moments”,这意味着我们在照片选择器中,但第二行没有错误 – 但不选择任何内容(无论坐标)。

测试最终未能卡在照片选择屏幕上。

我记录了下面的元素树,你可以看到它看起来有一个UICollectionView,但所有的单元格都是节头,调试日志输出中没有实际的“照片”。

那么我们如何使用UIAutomation从UIImagePickerController中选择一个图像呢?

谢谢!

仪器运行输出

我修好了

 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 

这是工作。

所以,我想出来了。 咄。 我只需要访问可见的单元格并将其发送到其中一个。 奇迹般有效。

 window.collectionViews()[0].visibleCells()[0].tap(); 

我希望这可以帮助别人!