Amazon Device Farm 上出现意外的 KIF 测试流程

Posted

技术标签:

【中文标题】Amazon Device Farm 上出现意外的 KIF 测试流程【英文标题】:Unexpected KIF test flow on Amazon Device Farm 【发布时间】:2017-01-29 03:58:48 【问题描述】:

我正在 Amazon Device Farm 上运行 KIF 测试套件。我在提交作业时选择了 XCTest。我观察到一个与从 Xcode 本地运行测试不同的意外运行流程。

KIF 版本是 3.5.1,Xcode 版本是 8.2。

正如我们所知,KIFTestCase 是 XCTestCase 的子类,以添加可用于执行 KIF 测试步骤的设置和拆卸步骤。“beforeAll”和“afterAll”在所有测试之前和之后运行一次,“beforeEach”和“afterEach”在所有测试之前和之后运行一次在每次测试之前和之后运行。 所以我有一个包含 3 个测试用例的测试套件,流程将是:

在所有之前 beforeEach 测试1 afterEach beforeEach 测试2 afterEach beforeEach 测试3 afterEach 毕竟

当我在本地使用 Xcode 或在 Jenkins 上运行测试时,它确实遵循上述流程顺序。 但是,当我将作业提交到 Amazon Device Farm 时,我可以从日志以及它运行的视频中看到它,如下所示:

beforeAll beforeEach test1 afterEach afterAll beforeAll beforeEach 测试2 afterEach afterAll beforeAll beforeEach test3 afterEach afterAll

即每个测试用例完全从 SCRATCH 运行:登录、设置数据库、重新创建准备实例以进行测试;测试;清理和注销。

由于 beforeAll 通常需要大约 1 分钟以上,而每个测试只需要几秒钟,因此这个流程序列使测试运行更加耗时,因此成本高昂。

我想知道是否有人看到同样的事情,这是否是 Amazon Device Farm for XCTest 的预期行为?

【问题讨论】:

【参考方案1】:

这是 AWS Device Farm 中的预期行为。该服务独立于其他所有测试运行每个测试。

【讨论】:

以上是关于Amazon Device Farm 上出现意外的 KIF 测试流程的主要内容,如果未能解决你的问题,请参考以下文章

Amazon Device Farm 的 KIF .xctest 目录

为 AWS Device Farm 构建 XCTest UI 测试

无法在 iOS Appium 测试(AWS Device Farm)上切换到 WebView 上下文

AWS Device Farm 上用于 Cordova Android 应用程序的 Calabash,正确的 webview 名称?

AWS Device Farm 的 XCTest 单元和 UI 测试

AWS Device Farm上的Appium测试未按指定顺序执行