51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2700|回复: 2
打印 上一主题 下一主题

[转贴] 介绍一下 Spoon------配合 Robotium 多设备分发测试,生成测试结果

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-6-20 15:47:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 悠悠小仙仙 于 2017-6-20 16:08 编辑

最近群里有好几个人都问了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可使用的方法有以下(该方法的第二个参数为自定义文件名):
  1. Spoon.screenshot(activity, "initial_state");
  2. /* Normal test code... */
  3. Spoon.screenshot(activity, "after_login");
复制代码
就是这样将你需要截图的地方嵌入这个方法,并写描述
2 spoon-runner
这是个在电脑上可运行的jar文件,就是用它来驱动测试并完成各种数据收集的工作的。它需要你提前将已经签名好的测试apk和被测apk文件。
以下示例一个最基础的启动方式
  1. java -jar spoon-runner-1.0.0-jar-with-dependencies.jar --apk example-app.apk --test-apk example-tests.apk
复制代码
它还提供这些更高级的设置(比如改变生成结果的地址):
  1. Options:
  2.     --apk               Application APK
  3.     --fail-on-failure   Non-zero exit code on failure
  4.     --output            Output path
  5.     --sdk               Path to Android SDK
  6.     --test-apk          Test application APK
  7.     --title             Execution title
  8.     --class-name        Test class name to run (fully-qualified)
  9.     --method-name       Test method name to run (must also use --class-name)
  10.     --no-animations     Disable animated gif generation
  11.     --size              Only run test methods annotated by testSize (small, medium, large)
  12.     --adb-timeout       Set maximum execution time per test in seconds (10min default)
复制代码
还有一些类似maven的设置,请直接去github参照。
它有个很好玩的是,可以对截图进行顺序动态显示,好像是生成了GIF,很直观。
不过好像没有做统计相关的功能,恩,还有失败重跑这样的。不过我觉得初期可以用用,至少报告可以好看点。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2017-6-20 16:01:29 | 只看该作者
不错,不过报告最好可以自己定制。我们的做法是在运行过程中,将过程数据生成XML。结束后,会有个站点自动解析这个xml,生成结果报告。包含错误log、截图、数据统计等信息。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2017-6-20 16:02:11 | 只看该作者
草帽路飞UU 发表于 2017-6-20 16:01
不错,不过报告最好可以自己定制。我们的做法是在运行过程中,将过程数据生成XML。结束后,会有个站点自动 ...

嗯嗯,这个工具是对于数据统计这方面没做多少工作,优点是使用比较简单,对于刚入门使用robotium又不是很熟悉工具开发的同学会好一点,更高级一些的功能就需要自己定制了。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 15:26 , Processed in 0.063338 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表