您的位置:首页 > 其它

!!!Spoon------配合 Robotium 多设备分发测试,生成测试结果

2015-01-13 17:38 357 查看
摘自: http://testerhome.com/topics/1425
最近群里有好几个人都问了robotium怎么生成报告,一般看见大家有这样几种做法:

1 改写InstrumentationTestRunner,替代原有的,测试过程中会把测试结果写在定义的目录--------网上有教程,但是我没有试验过

2 jenkins有自带的junit插件可以生成报告--------没试验成功

3 使用命令行发送测试命令,然后收集返回的结果,根据模板生成网页,恩,各种自定义的功能比如说统计,失败重跑都可以做--------我做过,劳心劳力,不会做页面还特丑。

恩,直到后来一位前同事给我介绍了这个工具,觉得是初用Robotium又不熟悉怎么生成报告的同学的福音,用法简单,效果显著,居家必备。

下面介绍一个用来介绍一个与robotium结合得特别好的用来多设备运行,并且生成网页报告的工具------spoon

先上github地址:

https://github.com/square/spoon

主页:

http://square.github.io/spoon/

sample地址:

http://square.github.io/spoon/sample/index.html(可能很慢)

打不开以上网址的福利:

源代码zip:

http://pan.baidu.com/s/1kTolyvX

runner jar:

http://pan.baidu.com/s/1jGIFEF8

client jar:

http://pan.baidu.com/s/1jG20AZ8

介绍:

spoon-runner

提供测试apk和被测apk后,spoon-runner可以同时在多台机器上运行测试apk包含的tests,tests运行结束后,spoon会对所有的结果和图片进行处理,并且生成一个静态的html文件(其实有很多html文件)

生成的结果html大概是这样的:





spoon-client

需要导入到robotium的测试工程中,它提供了截图的方法,通过这个方法,可以将图片生成到结果html中
使用方法:

1 spoon-client

需要将spoon-client jar导入到你的测试工程中,就像到robotium.jar包那样导入工程。

spoon-client jar可使用的方法有以下(该方法的第二个参数为自定义文件名):

Spoon.screenshot(activity, "initial_state");
/* Normal test code... */
Spoon.screenshot(activity, "after_login");

就是这样将你需要截图的地方嵌入这个方法,并写描述

2 spoon-runner

这是个在电脑上可运行的jar文件,就是用它来驱动测试并完成各种数据收集的工作的。它需要你提前将已经签名好的测试apk和被测apk文件。

以下示例一个最基础的启动方式

java -jar spoon-runner-1.0.0-jar-with-dependencies.jar --apk example-app.apk --test-apk example-tests.apk

它还提供这些更高级的设置(比如改变生成结果的地址):

Options:
--apk               Application APK
--fail-on-failure   Non-zero exit code on failure
--output            Output path
--sdk               Path to Android SDK
--test-apk          Test application APK
--title             Execution title
--class-name        Test class name to run (fully-qualified)
--method-name       Test method name to run (must also use --class-name)
--no-animations     Disable animated gif generation
--size              Only run test methods annotated by testSize (small, medium, large)
--adb-timeout       Set maximum execution time per test in seconds (10min default)

还有一些类似maven的设置,请直接去github参照。

它有个很好玩的是,可以对截图进行顺序动态显示,好像是生成了GIF,很直观。

不过好像没有做统计相关的功能,恩,还有失败重跑这样的。不过我觉得初期可以用用,至少报告可以好看点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: