1

我目前正在为现有的 iPad 应用程序添加 UIAutomation 验收测试。我有一个自定义 shell 脚本,它从命令行运行仪器并在运行测试之前重置模拟器。当它尝试运行 UIAutomation 测试时,它会失败并显示错误“无法启动脚本,目标应用程序不是最前面的”。

我尝试通过在仪器的 GUI 版本中重现它来解决此问题,并且能够重现它。它仅在安装后首次启动应用程序时发生,并且仅在 iPad 6.0 模拟器中发生。当我在 iPad 5.1 模拟器中运行相同的场景时,它工作正常。在 6.0 模拟器上的仪器中启动后,我尝试在应用程序上运行的任何 UIAutomation 脚本都返回“无法启动脚本,目标应用程序不是最前面的”。错误。

应用程序本身在 AppDelege 中没有做任何特别的事情。它初始化窗口。

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

它创建一个视图控制器并将其分配为根视图控制器:

MyViewController *viewController = [[MyViewController alloc] initWithModel:self.myModel];
[self.window setRootViewController:viewController];
[self.window makeKeyAndVisible];

这是在 didFinishLaunchingWithOptions 方法中完成的。

我在另一个应用程序中执行了非常相似的操作,并且没有遇到此错误。我很想知道是否有其他人遇到过这个问题以及他们为解决这个问题做了什么。

我正在使用 Xcode 4.5.2

4

1 回答 1

4

我有同样的错误。

1.您可以运行应用程序(不使用仪器)

2.停下来。

3.使用仪器运行应用程序。

然后就没事了!

于 2013-11-04T02:38:34.703 回答