1

我有一个在 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 是如何知道测试结果的呢?我是否必须以某种方式读出控制台,或者我应该怎么做?

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

先感谢您!

4

2 回答 2

1

如果您的脚本以退出状态退出,则 Execute shell 任务将标记构建成功0。所有其他退出状态都会将构建标记为失败。在您的 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

于 2013-11-15T04:20:12.420 回答
0

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

于 2014-07-07T10:52:46.540 回答