“无法获得匹配的快照:评估UI查询时超时。”在XCUITest中

问题描述 投票:0回答:1

我正在为一个应用程序编写UI测试,该应用程序的表视图中包含大单元格(〜1000)。尝试访问单元格元素将显示以下错误:

无法获取匹配的快照:评估UI查询时超时。

场景:

  • 如果我尝试通过XCUIApplication().tables.firstMatch.cells.count来获取细胞数,则会引发异常
  • [将打印整个层次结构(尽管大约需要10秒才能打印)] >>此后,如果我尝试打印完全相同的行XCUIApplication().debugDescription,则会引发异常
  • 我无法检查单元格计数,也无法访问单元格元素。每当我访问XCUIApplication().debugDescription中的元素时,系统就会尝试评估所有UI元素。

    这是预期的行为,所以我想到了在本地复制XCUIApplication()数据的副本,并使用该本地保存的实例处理查询。所以,我尝试了这个:

XCUIApplication()

[这里,我使用了一个惰性变量(因为我只想调用private lazy var dummyApp: XCUIApplication = {
   return XCUIApplication()
}()
一次以阻止系统拍摄快照),该变量返回XCUIApplication()实例并尝试打印像这样的单元格计数:

XCUIApplication()

这也会引发相同的错误。

问题:

是否可以使用局部变量保存dummyApp.tables.firstMatch.cells.count 的整个结构?还是可以在访问元素之前停止/扩展快照过程?

P.S:我正在使用Xcode 11.3.1。我长期面对XCUIApplication()问题。由于XCUITest从Xcode 9更改了与应用程序的交互,因此将此问题作为单独的问题发布。

我正在为一个应用程序编写UI测试,该应用程序的表视图中包含大单元格(〜1000)。尝试访问单元格元素将显示以下错误:无法获取匹配的快照:定时...

swift snapshot evaluation bulk xcuitest
1个回答
0
投票

答案

© www.soinside.com 2019 - 2024. All rights reserved.