【问题标题】:How to do Cucumber Android integration testing?如何做 Cucumber Android 集成测试?
【发布时间】:2011-11-10 13:58:45
【问题描述】:

我正在尝试设置与 Android 项目和 Cucumber 的持续集成。

这个想法是在 Cucumber 中编写测试并通过 Cuke4Duke 和 NativeDriver for Android 在我的 Android 构建上运行测试。

当我运行它时,我计划使用 Maven 和 Jenkins 服务器来自动化测试,所以每次我提交到 Subversion 存储库时都会运行它。

以前做过吗?有没有好的指南?还是这样做是个坏主意?

【问题讨论】:

标签: android maven continuous-integration cucumber jenkins


【解决方案1】:

我们正在做的正是您计划用 Maven、Jenkins 和 Git 做的事情。缺少的成分是来自lesspainful.comandroid/cucumber integration

【讨论】:

    【解决方案2】:

    我们所做的是在 Robotium 之上编写了一个测试仪器引擎。该引擎主要是一个状态机,从文本文件中读取关键字并将其转换为 Robotium API 调用。我们最初确实注意到输入和输出是相同的:用户点击屏幕,显示新屏幕或显示新文本。

    这允许我们实现关键字测试驱动,但它在设备上运行而不是远程运行。

    20% 的努力可以获得 80% 的好处:易于编写/添加任何人都可以阅读的新测试。当然有限制,但我们的目标已经实现。

    干杯 码

    【讨论】:

      【解决方案3】:

      在我的公司中,我们使用了一些不同的设置(但可能您必须解决类似的挑战):Jenkins + Jenkins Android Plugin + Robotium + Ant。当您尝试将 ant 用于更复杂而不是简单的构建时,我们发现它很难维护,我们正在将脚本重写为 gradle。

      它运行良好,但是您应该注意两个潜在问题: 1. 模拟器很慢(即使在快速服务器上) - 您可以考虑将物理设备连接到您的服务器。 2. 你可能必须为模拟器设置锁(或只使用一个执行器),因为使用多个模拟器实例很难/棘手。

      【讨论】:

        【解决方案4】:

        我不认为你的计划是一个坏主意。但我不知道有谁在使用该特定设置进行 Android CI。

        您可能还想看看 Robotium,它类似于 Android 的 Selenium,并提供了非常丰富的 DSL,可以帮助您实现 cuke4duke 步骤。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-02-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多