查看当前屏幕中的所有XCUIElements

时间:2015-10-01 13:59:28

标签: xcode7 ui-testing xcode-ui-testing

在使用Xcode 7的UI /自动化测试中,有没有办法在应用程序屏幕上列出所有XCUIElements?就像在树或列表中,甚至是Xcode UI中的某些东西?我可以使用点击来记录测试中的应用程序的测试,但是当我去运行测试时,它会失败。它失败了,因为它无法从生成的代码中找到XCUIElements。

2 个答案:

答案 0 :(得分:2)

您可以在Xcode层次结构调试器中查看它。

来自Apple Docs

  

要进入视图调试器,请在Xcode中运行您的应用程序,然后单击调试栏中的Debug View Hierarchy按钮。   enter image description here

答案 1 :(得分:-2)

您可以使用

调试UI元素的状态
XCUIElement.debugDescription

它以html格式返回UIView的快照,其中有一个很好的查看UI元素状态,其中包含元素类型(例如textField,button),焦点,启用和值等元素,例如placeholderValue。

您还可以使用accessibilityInspector应用查看视图上UI元素的辅助功能属性,并验证元素是否正确设置了辅助功能属性。

调查视图的另一个方便工具是新的层次结构查看器,可以在测试代码中启用断点时从调试控制台工具栏或Debug Navigator过滤器进行记录期间调用。

enter image description here

Xcode 7在Report Navigator下也有一个很好的测试报告,它可以帮助您在测试失败的情况下深入了解确切的原因。 e.g

UI测试活动:

Assertion Failure: Asynchronous wait failed: Exceeded timeout of 10 seconds, with unfulfilled expectations: "Expect predicate `exists == 1` for object "Logout" Button".

希望这有帮助。