spoon学习1

Spoon是一款由Square公司开发的自动化测试工具,主要用于分发基于instrumentation的测试用例到不同设备并收集测试结果,最终生成HTML报告。本文介绍如何使用Spoon执行测试,并提供了详细的命令行参数说明。
spoon github地址:  https://github.com/square/spoon  
spoon主页:  http://square.github.io/spoon/  

sample 地址: http://square.github.io/spoon/sample/index.html 

将spoon项目下载下来后,进入spoon/website/sample目录,访问index.html即可看到示例
spoon的主要目的在于将能够将基于instrumentation的测试用例分发到各个不同的手机上,执行并将测试结果收集起来,生成最终的HTML总结报告。
spoon使用1:

spoon使用2:


java -jar E:\spoonApk\spoon-runner-1.1.10-jar-with-dependencies.jar --apk E:\spoonApk\ttdp-sign.apk --test-apk E:\spoonApk\TtdpApkTest.apk --output e:/aak
spoon生成的报告目录结构:


spoon详细参数:
Options:
    --apk              Application APK (待测应用apk)
    --fail-on-failure  Non-zero exit code on failure
    --output            Output path  (报告路径)
    --sdk              Path to Android SDK
    --test-apk          Test application APK(测试应用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)

注意1、由于spoon报告中的静态页面中使用的是googleapis中的在线字体,因此报告可能打开会相当慢
<link href="https://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic,bold" rel="stylesheet">         
因此实际要做为报告时,建议翻墙后访问https://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic,bold,将字体文件下载下来保存至文件例如放至static/fonts.css,然后静态引用<link href="static/fonts.css" rel="stylesheet">
参考:http://www.mamicode.com/info-detail-466645.html


### 关于Spoon的概述 Spoon 是一种多功能的 IT 工具或库,在不同的领域中有多种用途。以下是关于 Spoon 的详细介绍: #### 1. **作为 Java 源码分析与转换工具** Spoon 是一个元编程库,专门用于解析、分析和转换 Java 源代码[^4]。通过构建抽象语法树(AST),它可以提供强大的 API 来支持复杂的代码操作。这种特性使得开发人员能够轻松实现静态代码分析、重构以及自动化代码生成等功能。 ```java // 示例:使用 Spoon 进行简单的代码变换 Launcher launcher = new Launcher(); launcher.addInputResource("path/to/source"); CtModel model = launcher.buildModel(); model.forEach(c -> { if (c instanceof CtClass) { ((CtClass<?>) c).setName(((CtClass<?>) c).getSimpleName() + "Transformed"); } }); ``` #### 2. **由 SpoonLabs 提供的支持资源** 为了帮助开发者更有效地利用 Spoon,其官方实验室——SpoonLabs 创建了一系列辅助项目和工具,例如 `Spoon-examples` 和 `Spoon-dataflow` 等[^1]。这些扩展不仅增强了核心功能的应用场景,还降低了学习成本。 #### 3. **应用于虚拟化环境中的程序执行** 除了软件开发之外,另一种形式的 Spoon 被设计用来运行应用程序而无需实际安装它们[^3]。这种方法特别适合需要兼容性测试的情况,比如在不同版本的操作系统或者老旧浏览器上验证网页表现。 #### 4. **集成到 ETL 流程的数据管理解决方案** 值得注意的是,“Kettle Spoon”也常被提及为一款流行的开源 ETL(Extract, Transform, Load)平台的一部分[^2]。尽管名称相似,但它主要服务于数据迁移与清洗任务而非编码层面的技术探讨。 综上所述,无论是从事复杂算法研究还是日常办公需求满足方面,围绕"Spoon"这一关键词展开讨论总能找到适合自己使用的具体实例和技术方向。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值