最近有好几天没有写这个手机自动化的教程,因为我在研究如何生成测试报告。手机自动化测试起步比较晚,现成的方法不是太多,要么就是网站上对应的教程不多。这造成了我只好自己摸索去学习,不过还是有成效的,学习了三种生成报告的方法以及两种美化报告的方法,下面我们详细讲解一下。
7.1 使用junit-report生成报告
这个是参考网上的:http://www.xuebuyuan.com/2148574.html,经我个人验证是可行的方法,网上写的挺详细的,不过有些不太清楚明白的地方,鉴于网上说的有点迷茫,所以下面我再细化一下。
(1)下载junit-report包
这个包是我们生成报告的基础,所以先下载这个包,下载地址如下:https://github.com/jsankey/android-junit-report
(2)创建Robotium测试用例
创建好我们的Robotium测试用例,并且根据需要组织好测试用例。现在我们测试用例是针对众筹网的,只有一个登录测试用例,如图7.1.1所示:
图7.1.1准备好测试用例
(3)添加junit-report包到工程中
将刚刚下载的android-junit-report-1.5.8.jar包,添加到项目中。通过右击项目—>”Build path”à”Configure build path…”,在打开的对话框中“Libraries”à”Add External JARs…”,将包附加进来。
如图7.1.2所示:
图7.1.2 添加junit-report包
同时,选择“Order and Export”选项卡,将刚刚添加进来的包选择,单击“OK”按钮,完成包的添加。
(4)修改AndroidManifest.xml文件
修改AndroidManifest.xml文件如下,使用JUnitReportTestRunner运行测试用例。
将下面两句:
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.subject.zhongchou" />
修改成:
<instrumentation android:name="com.zutubi.android.junitreport.JUnitReportTestRunner"
android:targetPackage="com.subject.zhongchou" />
(5)修改Run Configurations配置
当我们修改了xml文件后,还需要修改一下Run Configurations配置。右击项目,选择“Run as”à“Run Configurations…”,在打开的窗口中左侧的“Andriod JUnit Test”下选择要设置的项目,如“AllTests”。然后在右侧选择“Run all tests in the selected project or package”,单击“Instrumention runner”后面的下拉框,就可以看到我们在Xml文件中填写的“com.zutubi.android.junitreport.JUnitReportTestRunner”,然后单击“run”按钮,则测试用例就会在我们的测试机上运行起来。如图7.1.3所示:
图7.1.3 配置RunConfiguration
(6)查看测试报告
经过上面的配置,通过JUnitReportTestRunner运行测试用例后,会在手机上/data/data/com.subject.zhongchou/files下生成测试报告文件junit-report.xml。如果你用的是其他的App,则com.subject.zhongchou会不同,找到你自己的App名称即可。如图7.1.4所示:
图7.1.4 在手机上生成测试报告
注:用junit-report在手机上生成报告是有一个前提的,你的手机必须已经Root,并且给/data/data文件夹设置了777权限。否则我们无法将测试报告写到系统数据文件夹下,也没有办法查看文件。
(7)取出测试报告
测试用例是在手机上运行的,所以产生的测试也在手机中。虽然我们可以直接用手机查看报告,可是还是不如在电脑上查看的方便。现在我们在测试工程中创建文件夹“test-output”,使用下面的命令将测试报告拉取到这个文件夹中:
C:\adb pull /data/data/com.subject.zhongchou/files/junit-report.xmlD:\robotiumautotest\ZhongChouDemo\test-output\
然后在打开测试报告文件,内容如下:
(8)总结
这个junit-report是官方提供的包,使用起来比较方便。但是测试机必须先root。测试报告是Xml格式的,不方便阅读,网上说在jenkins中任务构建完成后即可使用Publish JUnit test result report插件分析得出单元测试报告。由于时间问题,我还没有尝试一下jenkins能否分析,不过后面我们会有自己的办法分析xml报告。
7.2使用testuntils生成报告
Testunitils和junit-report类似,也是借助于第三方的包,产生测试报告的,除了产生的测试报告文件名为TEST-all.xml外,使用步骤和产生报告的路径也完全一样。怎么说这也是另一种方法,多学习一点儿也没有坏处的同,下面我们讲解一下这个方法。
(1)下载testuntils包
当然在使用第三方的包之前,要下载对应的包。Testuntils包的下载地址是:http://code.google.com/p/nbandroid-utils/
(2)创建Robotium测试用例
创建好我们的Robotium测试用例,并且根据需要组织好测试用例。同样我们使用上面创建的测试用例文件,结构如图7.1.1所示。
(3)添加Testuntils包到工程
将刚刚下载的testutils.jar包,添加到项目中。通过右击项目—>”Build path”à”Configure build path…”,在打开的对话框中“Libraries”à”Add External JARs…”,将包附加进来。
如图7.2.1所示:
图7.2.1 添加testutils包
同时,选择“Order and Export”选项卡,将刚刚添加进来的包选择,单击“OK”按钮,完成包的添加。
(4)修改AndroidManifest.xml配置
修改AndroidManifest.xml文件如下,使用testutils运行测试用例。
将下面两句:
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.subject.zhongchou" />
修改成:
<instrumentation android:name="com.neenbedankt.android.test.InstrumentationTestRunner"
android:targetPackage="com.subject.zhongchou" />
(5)修改Run Configurations配置
当我们修改了xml文件后,还需要修改一下Run Configurations配置。右击项目,选择“Run as”à“Run Configurations…”,在打开的窗口中左侧的“Andriod JUnit Test”下选择要设置的项目,如“AllTests”。然后在右侧选择“Run all tests in the selected project or package”,单击“Instrumention runner”后面的下拉框,就可以看到我们在Xml