我在我的应用程序中运行一个简单的测试,它应该点击并验证TableView中的每一行(是我的应用程序的Settings视图,因此每一行都是从磁盘加载的,在此步骤中没有任何内容从Web下载),但由于一个奇怪的原因,当我点击以前不可见的行时.tap()方法不起作用。
示例代码:
let app = XCUIApplication()
let myTableView = app.tables.element(matching: .table, identifier: "tableView01")
myTableView.swipeUp(). //I swipe so that the cell becomes visible...
let myCell = myTableView.cells.element(matching: .cell, identifier: "tappableCell")
myCell.tap()
奇怪的是我在Xcode中有来自控制台的正确输出。
t = 328.24s Tap "tappableCell" Cell
t = 328.24s Wait for app to idle
t = 328.80s Find the "tappableCell" Cell
t = 328.80s Snapshot accessibility hierarchy for com.thefloow.enterprise.ownbrand
t = 328.92s Find: Descendants matching type Table
t = 328.92s Find: Element at index 0
t = 328.92s Find: Descendants matching type Cell
t = 328.92s Find: Elements matching predicate '"tappableCell" IN identifiers'
t = 329.04s Wait for app to idle
t = 329.22s Synthesize event
t = 329.37s Wait for app to idle
另一个奇怪的事情是,如果我在tap方法之前设置了一个断点,然后我从命令行运行它,它完全可以从控制台给我相同的输出。
这种奇怪行为可能是什么原因?
感谢您的帮助! 安德烈
答案 0 :(得分:0)
我发现问题出现在框架中。滚动后,UI没有正确响应,所以我不得不双击单元格来重新签名UIResponder,然后测试工作正常。我还向报告了这个问题,以了解它是否是一种常规行为。
但是谢谢大家!快乐的编码!