无法访问UICollectionView元素

时间:2016-01-26 15:52:38

标签: xcode7 xctest xcode-ui-testing

尝试使用Xcode 7.2和XCT UI FW自动执行一些UI测试。

查看层次结构如下:

SearchViewController
   UIView
      UITableView
         CustomCell:UITableViewCell
            UIView
               UILabel
               UICollectionView
                  CustomCell:UICollectionViewCell
                     UILabel
                     UIImageView
         CustomCell:UITableViewCell
            .
            .

我的问题是我无法访问UICollectionView中的任何内容,也无法实际访问UICollectionView本身(或验证它是否存在)。

这里有一些lldb cmds和输出:

po app.tables.cells.count   3

正如预期的那样,我有三个CustomCell:UITableViewCell

po app.tables.cells.elementBoundByIndex(0).staticTexts.count   1

在第一个CustomCell:UITableViewCell中为UILabel返回1。但是它是否还应该在UICollectionViewCells中包含UILabel,因为.elementType表示法是descendantsMatchingType(.elementType)的缩写?

po app.tables.collectionViews.count   0
po app.tables.cells.collectionViews.element.exists   false

如您所见,我无法访问UICollectionView。在构建和测试应用程序时,每个UITableViewCell中都有8个UICollectionViewCells,我已在Xcode中设置了Accessibility复选框。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

我能够以此方式识别集合视图中的单元格。只需将“ sampletext”替换为唯一标识该单元格的任何静态文本。

let predicate = NSPredicate(format: "label BEGINSWITH 'sampletext'")
let cell = XCUIApplication().collectionViews.cells.element(matching: predicate)