合并代码覆盖率文件-手机测试Robotium实战教程(7)

发表于:2015-12-18 10:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:杨志伟    来源:51Testing软件测试网原创

  12.3合并代码覆盖率文件
  在实际工作中,可能会分多个功能模块运行自动化测试用例,如果实现代码覆盖率的话,就会有多份代码覆盖率文件,这时候想知道总的代码覆盖率情况,就需要合并这些覆盖率文件。
  (1)新建一个Runner和Runner2,然后在这个Runner中添加还未添加的用例。
  新建一个Suite,添加case如下。
packagecom.example.todolist.test.testsuites;
importjunit.framework.TestSuite;
importcom.example.todolist.test.testcases.addtodolist.NewToDo_1;
importcom.example.todolist.test.testcases.edittodolist.EditDoListItem_1;
importcom.example.todolist.test.testcases.logout.Logout_1;
publicclassOtherSuite{
publicstaticTestSuitegetTestSuite(){
TestSuitesuite=newTestSuite();
suite.addTestSuite(NewToDo_1.class);
suite.addTestSuite(EditDoListItem_1.class);
suite.addTestSuite(Logout_1.class);
returnsuite;
}
}
  (2)新建Runner2,将OtherSuite添加到这个Runner中,编写Runner2的代码如下。
packagecom.example.todolist.test.runners;
importjunit.framework.TestSuite;
importcom.example.todolist.test.testcases.LatestTest;
importcom.example.todolist.test.testsuites.OtherSuite;
publicclassRunner2extendsCommonRunner{
@Override
publicTestSuitegetAllTests(){
//TODOAuto-generatedmethodstub
TestSuitesuite=newTestSuite();
suite.addTest(OtherSuite.getTestSuite());
suite.addTestSuite(LatestTest.class);
if(isNeedRegenerate){
suite=reGenerateTestSuiteWhenCrash(getCaseNameList(suite));
}
returnsuite;
}
}
  (3)在AndroidManifest.xml添加这个Runner的声明。
  <instrumentation
  android:name="com.example.todolist.test.runners.Runner2"
  android:targetPackage="com.example.todolist"/>
  (4)再次执行antcleanemmadebug,让APK是最新的版本,运行第二个Runner,将其产生的覆盖率文件命名为coverage2.ec,命令如下。
  adbshellaminstrument-ecoveragetrue-ecoverageFile/mnt/sdcard/coverage2.ec-wcom.example.todolist.test/com.example.todolist.test.runners.Runner2
  在终端的执行过程如图12.11所示。
  
图12.11
  执行完后,同样将这个文件pull到测试项目根目录下,pull方法与上面介绍的相同,这里就不重复介绍了,参照图12.12所示即可。
  通过如下命令实现mergeconverage.ec和coverage2.ec。
  
图12.12
  java-cpemma.jaremmamerge-incoverage.ec,coverage2.ec-outcoverage_all.ec
  在终端的执行过程如图12.13所示。
  
图12.13
  通过如下命令生成总的覆盖率信息的HTMLreport。
  java-cpemma.jaremmareport-rhtml-incoverage.em,coverage_all.ec-Dreport.html.out.file=./coverage_all.html
本文选自《手机测试Robotium实战教程》第六章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号