0


在寻求解决方案之前,让我先解释一下问题。我们为我们的 iOS 应用程序进行了 Appium 自动化测试。我们认为,每个测试都应该从头开始(即应用程序安装),而不是依赖以前的测试将应用程序带到当前有问题的测试感兴趣的屏幕上。我希望这种方法是正确的。我们尝试使用此处提到的方法生成 .gcda 文件。但是干净状态方法似乎为每个测试创建多个 .gcda 文件。如何以比此处提到的方法更简单的方式合并它(看起来像多个步骤 - 如果 .gcda 文件太多,我们将需要多个步骤)。我们希望通过 Appium 进行这种覆盖,直到我们为遗留代码添加单元测试,所以我们认为不需要将这种通过 Appium 进行代码覆盖的复杂方法集成到 CI 中,所以每次我们需要覆盖时手动进行,将意味着转换所有 .gcda 到 LCOV 文件,这可能很耗时。因此这个问题。

谢谢,

稻田

4

1 回答 1

0

您只需要在测试之前添加完全重置应用程序的功能。它适用于真实设备和模拟器。

capabilities.setCapability("fullReset", true)
capabilities.setCapability("noReset", false)

如果您需要在不清除某些缓存的情况下重新加载应用程序,那么我建议使用以下功能:

capabilities.setCapability("fullReset", false)
capabilities.setCapability("noReset", true)

对于应用程序重新加载,请使用此功能(仅限 iOS!):

static reloadApplication() {           
        mobileDriver.closeApp()
        mobileDriver.launchApp()            
}
于 2016-11-11T10:35:34.693 回答