XCUI 测试:app.debugDescription 显示最后一屏的信息

Posted

技术标签:

【中文标题】XCUI 测试:app.debugDescription 显示最后一屏的信息【英文标题】:XCUI Test: app.debugDescription shows info of the last screen 【发布时间】:2017-07-26 19:46:27 【问题描述】:

当我执行命令时

(lldb) po app.debugDescription

它显示上一个视图的详细信息。 如何刷新它以显示新的元素树??

【问题讨论】:

【参考方案1】:

当您与应用交互时,视图层次结构将刷新(因为可以合理地预期应用的状态不会改变,除非用户与之交互)。

要获得新的视图层次结构,您可以点击应用程序:app.tap(),然后打印调试描述,或者您可以创建 XCUIApplication 的新实例并使用它来代替现有的 app 属性它具有缓存的视图层次结构。新实例应显示新的视图层次结构。

【讨论】:

是的,试一试:) 我试过了,效果很好。但是如果有一个警报窗口并且我们按下点击,它就会被取消。我想查看警报视图的详细信息,但显示的是旧屏幕的详细信息。有什么想法吗?? 您可以打印出 XCUIElementQuery 的属性,例如 count 以强制生成视图层次结构的新快照。例如只打印app.alerts.count @Vinayaka 要与警报交互,请使用此处解释的中断监视器:***.com/questions/39973904/… @Vinayaka 警报会被 XCTest 自动取消,如果您不自己处理它们,这就是您看到它被取消的原因。 :)

以上是关于XCUI 测试:app.debugDescription 显示最后一屏的信息的主要内容,如果未能解决你的问题,请参考以下文章

使用 XCUI 进行 UI 测试

在真实设备上的 XCUI 测试中检测暗模式

使用 XCUI 测试用例测试 UICollectionView 无限滚动

如何在 XCUI 测试自动化框架中组织和分组测试用例

如何编写 XCUI 测试以确定我是不是导航到正确的屏幕?

在 XCUI 测试中终止时未调用 applicationWillTerminate