【问题标题】:Can I see the exact UI hierarchy that EarlGrey uses to locate elements?我可以看到 EarlGrey 用于定位元素的确切 UI 层次结构吗?
【发布时间】:2016-12-21 00:05:38
【问题描述】:

我正在编写一个失败并出现以下错误的测试:

Error Domain=com.google.earlgrey.ElementInteractionErrorDomain Code=0 “未找到元素。” UserInfo={NSLocalizedDescription=未找到元素。}

我可以在生成的屏幕截图中看到我尝试匹配的元素存在。我单步执行了代码,发现 earlgrey 使用了元素提供程序。当我的测试失败时,我看到了一个 ui 层次结构转储。我想在特定断点处打印完全相同的 ui 层次结构。我该怎么做?

【问题讨论】:

    标签: earlgrey


    【解决方案1】:

    您可以使用GREYElementHierarchy 类在EarlGrey 测试中的任何位置打印元素层次结构。

    UIWindow *hierarchy = [[[UIApplication sharedApplication] delegate] window]);

    NSLog(@"Hierarchy: %@", hierarchy);

    【讨论】:

      【解决方案2】:

      EarlGrey FAQ 一样,您可以在测试中的任何位置添加断点,并在命中时在 Xcode 的调试窗口中运行:

      expression -- print(GREYElementHierarchy.hierarchyStringForAllUIWindows())
      

      这将输出完整的层次结构,因此解析出来会有点混乱。

      祝你好运

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-02
        • 1970-01-01
        • 1970-01-01
        • 2014-09-03
        • 2011-07-09
        • 1970-01-01
        • 1970-01-01
        • 2020-03-18
        相关资源
        最近更新 更多