【发布时间】:2016-03-03 14:02:15
【问题描述】:
尝试在我的 APP 上启动 EarlGrey 测试,但在启动启动屏幕打开后,我得到的只是空白屏幕。
我们使用 2 个不同的窗口作为启动屏幕和主 APP,它看起来像第一个上的 EarlGrey 堆栈。有没有办法在 EarlGrey 中切换屏幕?
我在测试输出中的内容:
2016-03-03 15:00:25.721 XING[23504:165847] 无法启动 com.apple.AXInspector [268435460 - 端口:31499] 2016-03-03 15:00:49.001 XING[23504:165847] 应用程序窗口层次结构(按窗口级别从前到后排序):
图例: [窗口 1] = [最前面的窗口] [AX] = [辅助功能]
========== 窗口 1 ==========
UITextEffectsWindow:0x7fbe3bf10e50; AX=N; AX.frame={{0, 0}, {375, 667}}; AX.activationPoint={187.5, 333.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N';帧={{0, 0}, {375, 667}};阿尔法=1> UIInputSetContainerView:0x7fbe3bc2cff0; AX=N; AX.frame={{0, 0}, {375, 667}}; AX.activationPoint={187.5, 333.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N';帧={{0, 0}, {375, 667}};不透明;阿尔法=1> UIInputSetHostView:0x7fbe3bc24550; AX=N; AX.frame={{0, 667}, {375, 0}}; AX.activationPoint={187.5, 667}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N';帧={{0, 667}, {375, 0}};不透明;阿尔法=1>
========== 窗口 2 ==========
UIWindow:0x7fbe3be22b80; AX=N; AX.frame={{0, 0}, {375, 667}}; AX.activationPoint={187.5, 333.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N';帧={{0, 0}, {375, 667}};不透明;阿尔法=1> |--UIView:0x7fbe3d55d970; AX=N; AX.frame={{0, 0}, {375, 667}}; AX.activationPoint={187.5, 333.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N';帧={{0, 0}, {375, 667}};不透明;阿尔法=1>
【问题讨论】:
-
EarlGrey 不应该弄乱这些窗口的顺序。在启动应用程序进行测试时,您可能会遇到一些问题。您可以直接设置断点并查看窗口是如何在您的应用委托中创建的。 UITextEffectsWindow 是一个内部窗口,它可以放在其他窗口的顶部。唯一相关的窗口是 UIWindow:0x7fbe3be22b80 它似乎没有任何子窗口(根据层次结构),因此您可能想查看该窗口的创建位置以及该窗口上设置的根视图控制器的内容。