代码之家  ›  专栏  ›  技术社区  ›  Reinhard Männer

无法确定HitTableViewCell的屏幕点

  •  5
  • Reinhard Männer  · 技术社区  · 6 年前

    要对我的应用程序进行UI测试,我必须启用/禁用iCloud。我在测试中启动设置应用程序,导航到 苹果ID 场景,然后点击那里 苹果云 单元格(见下图)。

    enter image description here

    在我的测试中,我检查了iCloud单元是否存在,并且是HeTable。只有当我点击手机:

    // when
    let iCloudCell = settingsApp.tables.cells["iCloud"]
    let iCloudCellFound = iCloudCell.waitForExistence(timeout: 10)
    // then
    XCTAssert(iCloudCellFound, "iCloud settings not found")
    XCTAssert(iCloudCell.isHittable, "iCloud settings not hittable")
    
    // when
    iCloudCell.tap()
    

    这在大多数情况下都有效,但有时测试会在 iCloudCell.tap() 用原木

    t =   113.74s         Find: Descendants matching type Table
    t =   113.74s         Find: Descendants matching type Cell
    t =   113.74s         Find: Elements matching predicate '"iCloud" IN identifiers'
    t =   113.85s     Synthesize event
    t =   113.97s         Assertion Failure: <unknown>:0: Failed to determine screen point of "iCloud" Cell: Error copying attributes -25202  
    

    编辑: 发生此错误时,仅显示Apple ID场景。没有警报,也没有其他视图。

    我的问题是:这怎么可能是单元格可挂起,但屏幕点无法确定?还有什么办法呢?

    0 回复  |  直到 6 年前