我有一个使用CLLocationManager的iOS5iPad应用程序,我正在使用UIAutomation进行测试。在运行测试脚本之前,我在使用CLLocationManager时在iOS显示的对话框中手动按下“确定”。有时,我的测试脚本会无法启动。我按下Instruments中的“播放”图标,12秒内没有任何反应。然后,我得到以下异常:Targetappisnotfrontmost一旦发生这种情况,我通常必须重新启动才能让仪器再次工作。当我离开我的应用程序前面的CLLocationManager对话框时,我曾经遇到过同样的异常。有人知道如何解决这个问题吗?
好吧,这让我抓狂。我有一个小的CI构建系统正在运行。我正在使用UIAutomation对我的应用程序进行UI测试。由于该应用程序使用CoreLocation,因此第一次启动该应用程序时,我会收到一个小警报,要求我确认我希望跟踪我的位置。这会很棒,但是警报不是我自己的应用程序的一部分,我不能使用UIAutomation与它交互。是否有任何解决方案可以在不手动点击按钮的情况下确认此警报。谢谢。附言摆脱测试构建的CoreLocation不是一种选择。 最佳答案 我在之前工作的地方解决这个问题的唯一方法是编写一个小的苹果脚本应用程序,它可以
我试图了解如何使用UIAutomation执行自动应用程序测试,因此我创建了一个可以从JavaScript接口(interface)驱动的温度转换器应用程序。这是用户界面:顶部文本字段的辅助功能标签为“摄氏度”,同样底部字段的辅助功能标签为“华氏温度”。我试图通过这个脚本来驱动它:UIALogger.logStart("Test-40ºC==-40ºF");varwindow=UIATarget.localTarget().frontMostApp().mainWindow();varcelsiusField=window.textFields()["Celsius"];varfahr
我们正尝试围绕我们应用程序中的一个流程进行UIAutomation测试,在该流程中,用户从UIImagePickerController选择图像。所有的自动化工作都很好,直到我们尝试从选择器Controller中选择一个图像。似乎我们无法获得正确的对象来发送水龙头。这是我们正在尝试的:UIALogger.logMessage("NavigationTitle:"+app.navigationTitle());window.collectionViews()[0].tapWithOptions({tapOffset:{x:0.5,y:0.5}});上面将导航标题显示为“时刻”,这意味着我
我可以看到View,但无法看到/点击其中的按钮。该按钮具有UIA_loginview_loginbutton的辅助功能标签,并启用了辅助功能。为什么它没有显示在logElementTree()上?vartarget=UIATarget.localTarget();varapplication=target.frontMostApp();varwindow=application.mainWindow();varview=window.elements().firstWithName("UIA_loginview_view");UIATarget.localTarget().logEle
有没有人在带有示例项目的UIAutomation测试脚本上找到任何示例?到目前为止,我只找到了涵盖该主题的WWDC2010视频,但没有可供使用的示例脚本/项目。还有什么方法可以在Xcode/Instruments中编辑脚本时实现代码建议/自动完成? 最佳答案 我不确定您是否喜欢它UIAutomation,但我非常喜欢KIFhttps://github.com/square/KIF来自Square的好人。它有示例,并且维护得相当积极。 关于iphone-UIAutomation脚本示例,我
我目前正在jenkins上自动化我们的iOS测试。到目前为止,我在运行单元测试、将OCUnit转换为JUnit以及生成Cobertura格式的代码覆盖率方面没有遇到任何问题(大量谷歌搜索但没有难题)。但是,在创建UIAutomation作业时,我卡住了。测试运行成功(从命令行调用instruments)。生成junit报告很棘手但可能。问题是在运行UIAutomation时,没有生成代码覆盖率文件。是否有可能生成它们?如果不是,能否解释一下原因?到目前为止我尝试了什么:将UIAutomation附加到已在iOS模拟器上运行的应用程序。这似乎是不可能的。正在运行的应用程序被仪器终止并重新
一段时间以来,我一直在尝试弄清楚如何从Jenkins运行UIAutomation测试-每次我运行构建时,它构建得很好,然后它运行我的instruments命令(使用此处详述的相同命令(CanInstrumentsbeusedusingthecommandline?)并且jenkins挂了,整个机器都挂了,当我查看事件监视器时,我可以看到一个使用2gb内存的仪器进程。当我设置jenkins时,我最初以隐藏用户的身份运行它-这带来了一些挑战,因为jenkins是守护进程并且无法访问窗口服务器。然后我决定将jenkins帐户更改为普通用户,登录并从命令行运行仪器-这工作正常..但仍然没有从j
我正在尝试获取iPad模拟器中显示的UILabel的值"HELLO"。我启用了辅助功能并将标签设置为"LabelAccess"。但是当我调用target.logElementTree()时,名称和值都设置为"LabelAccess"并且据苹果文档所说,值字段应包含设置的字符串(在本例中为"Hello")。有人知道解决这个问题的办法吗?PS:我使用的是最新的iOSSDK和Xcode。AppleStackExchange 最佳答案 我认为您遇到了一个永远存在的UIAutomation错误。解决此错误的最简单方法是将accessibili
我的应用程序中有一个搜索字段,我已将此字段的键盘返回键类型设置为UIReturnKeyNext。我正在尝试编写一个UIAutomation测试,它使用以下行点击键盘上的Next按钮:UIATarget.localTarget().frontMostApp().mainWindow().keyboard().keys().firstWithName("next");此调用失败,因为未找到名称为“next”的键。我已经使用以下方法转储了我的应用程序中的所有元素:UIATarget.localTarget().frontMostApp().logElementTree();这表明键盘中确实有