UIAutomation 功能测试的 iOS 代码覆盖率

Posted

技术标签:

【中文标题】UIAutomation 功能测试的 iOS 代码覆盖率【英文标题】:iOS code coverage for UIAutomation functional tests 【发布时间】:2013-04-25 09:33:05 【问题描述】:

我想为我们的 ios 应用生成代码覆盖率文件。

问题是,当我使用它构建的测试覆盖设置构建代码时,模拟器会启动应用程序。现在我想运行我的 UIAutomation 功能测试,但是一旦我使用 Instruments 命令开始我的测试,模拟器就会重新启动!

要生成代码覆盖率文件,App 不得重启。

有没有人找到一种方法来使用已经运行的模拟器来执行 UIAutomation 测试?

【问题讨论】:

据我所知,UI自动化工具需要在应用启动时附加,可能与私有自动化框架在运行时通过工具链接的方式有关。您使用的是什么代码覆盖率工具?为什么在 UI 自动化运行时无法跟踪覆盖率? 嗨乔纳森,我正在使用以下命令来启动我的 UIAutomation 测试:instruments -t $TemplateLocation $AppLocation -e UIASCRIPT $ScriptFileLocation -e UIARESULTSPATH $ResultPath 此命令正在重新启动模拟器/应用程序然后它运行测试。问题是生成代码覆盖率文件,在所有测试运行之前,应用程序不应重新启动。如前所述,当我在 Xcode 中运行构建时,它会启动模拟器并运行应用程序,现在我想以某种方式将我的测试附加到这个已经运行的模拟器上。我正在使用 Coverstory 来获取代码覆盖率结果。 【参考方案1】:

你也许可以从这个上一个问题中找到一些想法

Is there any way to test the code coverage of UIAutomation tests?

【讨论】:

以上是关于UIAutomation 功能测试的 iOS 代码覆盖率的主要内容,如果未能解决你的问题,请参考以下文章

具有代码覆盖率的 UIAutomation

UIAutomation 在 iOS 6 中工作,但在 iOS 7 中不工作 (UIATarget.setLocationWithOptions)

即使在应用退出后,如何使用 UIAutomation 工具继续测试 iOS 应用?

如何使用UIAutomation进行iOS 自动化测试

如何使用UIAutomation进行iOS 自动化测试

如何使用 Instruments UIAutomation 测试 iOS Web 应用程序