问:UITests - 如何在使用TableView单元嵌套的collectionView中获取collectionCell元素?

时间:2017-11-03 04:28:49

标签: ios uicollectionview xctest

我是UITests的初学者。目前,我有一个问题,我无法访问collectionViewCell中的元素。

我的UI元素结构:

  

的UIViewController

     
      
  • 的UITableView

         

    - UITableViewCell

         

    ---> UICollectionView

    ----> UICollectionViewCell
    
      -----> The element that I would like to get.
    
  •   

我尝试过以下代码:

let tableCellContainer = app.tables["HomeRVMPTableView"].cells.element(boundBy: 0) // Get the first Cell of TableView
let collectionContainer = tableCellContainer.collectionViews["ContainerItemCollectionView"].cells.element(boundBy: 1) // Get the second Cell inside collectionView
let collectionElement = collectionContainer.staticTexts["BuyCashCard"]
XCTAssertFalse(!collectionElement.exists)  // FAILED

有没有办法更方便地访问collectionViewCell / tableViewCell?当他开始使用UITests时,我真他妈的累了。

2 个答案:

答案 0 :(得分:1)

谢谢大家帮助我,我刚刚找到另一种方法来访问tableview中的集合视图。

这是我的代码:

let tableCellContainer = app.tables["MainTableView"].cells.element(boundBy: 1) 
let cell = tableCellContainer.staticTexts["Brazil"]
cell.tap()            
 XCTAssert(cell.exists)

希望这会帮助另一个像我这样有同样问题的人。

答案 1 :(得分:0)

要使该行失败,collectionElement必须实际存在。用XCTAssert(collectionElement.exists)

替换失败的行 当条件为真时,

XCTAssertFalse失败。当条件为真时,XCTAssert(相当于XCTAssertTrue)成功。