1

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

错误域 = com.google.earlgrey.ElementInteractionErrorDomain 代码 = 0“未找到元素。” UserInfo={NSLocalizedDescription=未找到元素。}

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

4

2 回答 2

2

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

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

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

于 2016-08-01T09:18:06.683 回答
1

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

expression -- print(GREYElementHierarchy.hierarchyStringForAllUIWindows())

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

祝你好运

于 2016-12-20T16:05:38.997 回答