【问题标题】:How can I integrate Monkeyrunner tests in Jenkins?如何在 Jenkins 中集成 Monkeyrunner 测试?
【发布时间】:2013-11-15 01:10:04
【问题描述】:

我有一个在 Jenkins 中构建的 Android 项目。 我已经建立了一个 JUnit 测试项目来对应用程序进行单元测试。这很好地集成在 Jenkins 中。所有测试都由 Ant 构建文件运行,测试结果可以通过插件显示在 Jenkins 中。

现在我为 Monkeyrunner 编写了一些功能测试,并希望将它们也集成到 Jenkins 构建中。

有什么方法可以做到这一点? 当然,我可以将 Monkeyrunner 称为 shellscript-buildstep。

据我了解,在 Monkeyrunner 脚本中,我只能执行以下操作:

test some stuff...
if xyz:
  print 'test successful'
else:
  print 'test failed'

但是,既然 Jenkins 没有 Monkeyrunner 插件,那么 Jenkins 是如何知道测试结果的呢? 我是否必须以某种方式读出控制台,或者我应该怎么做?

希望你们能理解这个问题,我的英语不太好。

提前谢谢你!

【问题讨论】:

    标签: android testing jenkins monkeyrunner


    【解决方案1】:

    如果您的脚本以0 的退出状态退出,则执行 shell 任务将标记构建成功。所有其他退出状态都会将构建标记为失败。在您的 monkeyrunner 脚本中,您可以使用 exit() 语句来设置您的退出状态。

    # test some stuff...
    if xyz:
      sys.exit(0) # success
    else:
      sys.exit(1) # failure
    

    如果您需要更精细的东西,如果使用退出代码不足,您可以使用 Text-finder Plugin 之类的东西来解析 Monkeyrunner 脚本的输出。

    编辑:澄清一下,添加一个 Execute shell 步骤,并从该步骤中调用您的 monkeyrunner 脚本。如果脚本以0 的状态退出,Jenkins 将继续,否则构建失败。

    您可能需要提供monkeyrunner interpereter的完整路径,即:

    /path/to/android-sdk/tools/monkeyrunner my-script.mr

    【讨论】:

      【解决方案2】:

      不管它的名字,你可以使用Android Emulator Plugin在你的真实设备上执行Monkey压力测试。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-27
        • 1970-01-01
        • 2021-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-03
        • 2013-06-24
        相关资源
        最近更新 更多