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

时间:2015-04-07 11:41:07

标签: ios xcode uiimagepickercontroller automated-tests instruments

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

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

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

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

我记录了下面的元素树,你可以看到它看起来有一个UICollectionView,但是所有的单元格都是节标题,调试日志输出中没有任何单元树是实际的'照片& #39;

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

谢谢!

Instruments Run Output

2 个答案:

答案 0 :(得分:4)

我通过

解决了这个问题
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

它正在发挥作用。

答案 1 :(得分:0)

所以,我想出来了。咄。我只需要访问可见的单元格并将其发送到其中一个。像魅力一样。

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

我希望这有助于其他人!