Spoon技术应用于UiAutomator自动化测试

一、spoon简单介绍

spoon是在github平台上多个技术牛人开发的一个用于自动化测试框架,主要作用是更加方便自动化测试的执行和将测试用例结果生成更直观的html文件,可以同时进行多台设备运行测试,还具备截图和上传文件接口,大大方便了自动化测试的开展………,那么接下来说说如何使用这门技术。

二、前提知识

这里是在Android studio上进行自动化测试的开展的,UiAutomator的环境搭建可以查看本人日志《UiAutomator2自动化测试环境搭建》,这里使用的是UiAutomator 的测试框架,大家也可以选择Robotium自动化测试框架。

三、应用

spoon 是github平台上的牛人开发的技术,可以从去了解一下(https://github.com/square/spoon “spoon”)

可以下载源码,这里需要在上面获取的资料有

运行的jar包和一个接口使用的jar包,可以在Download项下载
这里写图片描述
下载后的文件目录

这里写图片描述
其中压缩包是spoon源码

接下来就是如何去使用了这些jar包,假如只是单纯的使用spoon生成直观的测试用例报告,那么就是运行几条命令。。。

首先将Android studio 编写的测试工程生成APK,运行了测试工程,自然就有测试apk了,一般是保存在目录:工程文件\app\build\outputs\apk目录下

这里写图片描述
我们只需要上面的测试apk,将该apk拷贝到spoon的jar目录下,然后也将被测apk拷贝到该工程目录下,

这里写图片描述
接下来就代开CMD命令行,跳转到spoon目录下执行命令

<code class="hljs lasso has-numbering">java <span class="hljs-attribute">-jar</span> spoon<span class="hljs-attribute">-runner</span><span class="hljs-subst">-</span><span class="hljs-number">1.3</span><span class="hljs-number">.1</span><span class="hljs-attribute">-jar</span><span class="hljs-attribute">-with</span><span class="hljs-attribute">-dependencies</span><span class="hljs-built_in">.</span>jar <span class="hljs-subst">--</span>apk app<span class="hljs-attribute">-debug</span><span class="hljs-attribute">-unaligned</span><span class="hljs-built_in">.</span>apk <span class="hljs-subst">--</span>test<span class="hljs-attribute">-apk</span> app<span class="hljs-attribute">-debug</span><span class="hljs-attribute">-androidTest</span><span class="hljs-attribute">-unaligned</span><span class="hljs-built_in">.</span>apk</code><ul style="" class="pre-numbering"><li>1</li></ul>

就发现自动化测试可以执行了,然后可以在spoon目录下看到多了一个文件夹,如图
这里写图片描述
这个文件夹就是保存了测试报告的

这里写图片描述

这个就是总的测试用例报告了
这里写图片描述
上面乱码是由于不支持中文!!!

现在可以使用spoon执行自动化测试用了

那么我们如何使用spoon的截图呢?
首先我们要将spoon-client-1.3.1.jar 导入到工程目录下,还要修改权限,可以看github上面的提示
If you have files that will help you in debugging or auditing a test run, for example a log file or a SQLite database you can save these files easily and have them attached to your test report. This will let you easily drill down any issues that occurred in your test run.

Attaching files to your report requires that you include the spoon-client jar and that you have WRITE_EXTERNAL_STORAGE permission.

<code class="hljs vhdl has-numbering">// by absolute path <span class="hljs-typename">string</span>
Spoon.save(<span class="hljs-keyword">context</span>, <span class="hljs-string">"/data/data/com.yourapp/your.file"</span>);
// <span class="hljs-keyword">or</span> <span class="hljs-keyword">with</span> <span class="hljs-keyword">File</span>
Spoon.save(<span class="hljs-keyword">context</span>, <span class="hljs-keyword">new</span> <span class="hljs-keyword">File</span>(<span class="hljs-keyword">context</span>.getCacheDir(), <span class="hljs-string">"my-database.db"</span>));</code><ul style="" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li></ul>

一个是截图方法,另外一个是上传文件的方法。可以看到测试报告更加直观
这里写图片描述
上面的context获取假如是在不知道被测APP的源码情况下,是有点难度的,我尝试了挺久也获取不了被测APK的context,所以只能想其他方法了,本人看了一下spoon截图接口方法的源码,其实它就是简单的将图片截取,然后保存到对应的地方即可,那么我们也可以使用UiAutomator的截图方法,只需要将图片保存在spoon截图保存的目录下即可,这样就不需要获取当前被测APK的context了。这里如何将图片如何保存到spoon图片目录下,就需要大家看spoon截图源码了,在这里就不多说了!!!

好了,到了这里spoon + UiAutomator自动化框架基本完成,接下来的自动化开展就是方便了很多

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值