我正在编写一个失败并出现以下错误的测试:
错误Domain = com.google.earlgrey.ElementInteractionErrorDomain Code = 0“找不到元素。” UserInfo = {NSLocalizedDescription =未找到任何元素。}
我可以在生成的屏幕截图中看到我想要匹配的元素存在。我逐步完成了代码,发现earlgrey使用了元素提供程序。当我的测试失败时,我看到了一个ui层次结构转储。我想在特定的断点处打印完全相同的ui层次结构。我怎么能这样做?
答案 0 :(得分:2)
您可以使用GREYElementHierarchy
类在EarlGrey
测试中的任意位置打印元素层次结构。
UIWindow *hierarchy = [[[UIApplication sharedApplication] delegate] window]);
NSLog(@"Hierarchy: %@", hierarchy);
答案 1 :(得分:1)
在EarlGrey FAQ中,您可以在测试中的任何位置添加断点,并在命中时在Xcode的调试窗口中运行:
expression -- print(GREYElementHierarchy.hierarchyStringForAllUIWindows())
这将输出完整的层次结构,因此解析时会有点混乱。
祝你好运