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

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

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

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

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


但是,由于Jenkins没有Monkeyrunner插件,Jenkins如何知道测试结果?
我必须以某种方式读出控制台,还是应该怎么办?

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

先感谢您!

最佳答案

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

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


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

编辑:进行澄清,添加一个“执行”外壳程序步骤,然后从该步骤中调用Monkeyrunner脚本。如果脚本以0状态退出,则Jenkins将继续,否则将导致构建失败。

您可能需要提供Monkeyrunner Interpereter的完整路径,即:

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

关于android - 如何在Jenkins中集成Monkeyrunner测试?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19991684/

10-14 13:17