Android-Junit-Report测试报告生成——Android自动化测试学习历程

视频地址:

http://www.chuanke.com/v1983382-135467-384869.html

这个内容其实已经在用了,我在上一篇文章robotium—只有apk文件的测试中已经讲过这个内容了,并且自己也用Python+wxpython写了界面程序,来实现跑case+获取xml运行结果+xml转html+发送邮件的功能

主要内容:

一、测试需求

1、统计每个case的执行时间

2、哪些case成功、失败

3、失败的case给出log

4、产生网页html报告结果

二、环境部署

以robotium为例,需要的环境:

1、JDK1.7、Android开发环境

2、Robotium的jar包

3、android-junit-report.jar包

三、报告生成原理

去官网瞅瞅:http://zutubi.com/,通过点击open source可进入下载页面下载

quick start

For the impatient, here is an overview of how to integrate the runner with Ant builds. Note all modifications are made to your test project, i.e. the project which implements the JUnit tests:

  • Grab the jar from the downloads page and add it to your libs/ directory.
  • Edit AndroidManifest.xml to set android:name in the <instrumentation> tag to:com.zutubi.android.junitreport.JUnitReportTestRunner.
  • Edit ant.properties to add the line:
    test.runner=com.zutubi.android.junitreport.JUnitReportTestRunner
  • Run your tests as you would normally:
    $ ant debug install test
  • Pull the resulting XML report from the device (from the application under test‘s internal storage directory):
    $ adb pull /data/data/<main app package>/files/junit-report.xml
  • Integrate the XML with your chosen build tool.

接下来就是原理:

1、com.zutubi.android.junitreport.JUnitReportTestRunner——具体见上面描述,需要修改的地方是两个,一个是instrumentation的tag,一个是Run As的Run Configuration,修改Instrumentation runner的值

2、调用机制:

三层封装:

Junit Report---》Robotium---》Instrumentation

四、脚本实现自动化后续收集工作

脚本1——运行testcase

脚本2——把xml从手机内存卡pull出来

脚本3——把xml转换成html

脚本4——把html的报告合并到手工、压力、性能报告中去

脚本5——发送邮件周知即可

Done!还是需要自己去写。。。

时间: 2024-10-09 15:13:33

Android-Junit-Report测试报告生成——Android自动化测试学习历程的相关文章

android金阳光自动化测试——学习历程:电池续航上&amp;&amp;下

章节:自动化基础篇——电池续航自动化测试上&&下 网易云课堂: http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=878098&courseId=712011 http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=878099&courseId=7120

android金阳光自动化测试——学习历程:自动化预备知识上&amp;&amp;下

章节:自动化基础篇——自动化预备知识上&&下 网易云课堂: 上:http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877113&courseId=712011 下:http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877114&courseId=71

截图原理(一)——Android自动化测试学习历程

把两节的内容汇总起来,第一节讲的是如何在apk中直接进行截屏,用到了Robotium的Solo类的takeScreenShot方法,有一个小的demo,以及从方法一直往里钻,知道它具体是怎么进行截屏的. 第二节讲的是脱离apk,直接在PC端截图,通过的是adb桥接的方式,调用ddmlib.jar包中的AndroidDebugBridge和IDevice的类,对其进行截屏,并保存到我想要的位置,是可以写成一个小工具的. 视频地址:http://study.163.com/course/course

Monkey原理初步和改良优化--Android自动化测试学习历程

章节:自动化基础篇——Monkey原理初步和改良优化(第三讲) 主要讲解内容与笔记: 一.理论知识: 直接看文档,来了解monkey的概念.基本原理,以及如何使用. First,what is Android Monkey? The Monkey is a program that runs on your emulator or device and generates pseudo-random streams of user events such as clicks, touches,

Instrumentation类——Android自动化测试学习历程

这里需要把Instrumentation类的视频的上.中.下三集一起看,把内容总结一下... 视频地址: http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=881433&courseId=712011 http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=878104&

跨进程(同一app不同进程之间通信)——Android自动化测试学习历程

视频地址:http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877122&courseId=712011 一.问题: 1.如何做到一个app不同进程通信? 2.多个app通信(不同app) 3.注入事件运行脚本和调用隐藏api 二.一个app不同进程通信: 知识点: 1.Intent.binder 2.Service.Activity 3.Handler.view 4.Messeng

Selenium原理初步--Android自动化测试学习历程

章节:自动化基础篇——Selenium原理初步(第五讲) 注:其实所有的东西都是应该先去用,但是工具基本都一样,底层都是用的最基础的内容实现的,测试应该做的是: (1)熟练使用工具,了解各个工具的利弊,达到工具优选.因时因地制宜的目的 (2)读源码,理解原理,能够对开源的源码进行二次再创造,改编成适合自身产品的工具:或者自己直接编写适合测试的工具 (3)能够对测试过程中发生的异常进行分析和定位,对测试结果进行详细和系统的综合评定(需要能够分析定位问题,必须对自身产品了解,但更需要的是对底层代码和

Robotium原理初步--Android自动化测试学习历程

章节:自动化基础篇——Robotium原理初步(第四讲) 主要讲解内容与笔记: 一.基于控件 1.spinner——下拉菜单 2.TabHost——左右滑动选择菜单,类似电话本 3.Gallery——图形 4.Progressbar——进度条 5.DatePicker——日期与时间选择控件 6.CheckBox——单选框:RadioButton——互斥单选框:Button——一般按钮 7.ToggleButton——双状态按钮控件:选择和未选择两种状态,并且针对不同状态显示不同文本8.EditT

AndroidDriver原理初步--Android自动化测试学习历程

主要讲解内容及笔记: 一.AndroidDriver核心原理 对上图的解析: PC端的端口通过adb,将android版的Remote Server的apk push到手机上,然后跟手机端的Remote Server进行通信,手机端的Remote Server与浏览器进行通信,通过WebDriver注入js脚本到浏览器,完成想要完成的功能 基于控件的所有的自动化框架都调用了Instrumentation,或者封装了它,比如之前的Robotium等 二.AndroidDriver源码分析 1.io