要对我的应用程序进行UI测试,我必须启用/禁用iCloud。我在测试中启动设置应用程序,导航到
苹果ID
场景,然后点击那里
苹果云
单元格(见下图)。
在我的测试中,我检查了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场景。没有警报,也没有其他视图。
我的问题是:这怎么可能是单元格可挂起,但屏幕点无法确定?还有什么办法呢?