Android自动化测试(Jenkins+Robotium+Ant+Junit)[PART TWO]

5、 xml转化为html

build.xml只需要加入这一段代码:

<target name="junitreport">

<junitreport todir="${junit.report.dir}">

<fileset dir="${junit.report.dir}">

<include name="TEST-*.xml" />

</fileset>

<report format="frames" todir="${junit.report.dir}/html" />

</junitreport>

</target>

6、 ant执行build.xml

这个很重要,当时我在这块花了很长时间,原因是我前段时间刚做过selenium的测试,所以一直是按照那个的过程来的,没想到其实在Android端做测试的时候和在网页做测试的时候是完全不同的。

Build.xml在这里是可以自动生成的,执行命令:

dos命令在project下 输入 android update test-project -p[project路径] -m[project路径]

然后在dos命令中输入 ant test   就可以运行测试

生成之后可以再按照你的要求进行修改

7、 log\screenshots

Android整个的自动化测试中,生成的日志以及截图都是保存在Android模拟器上的,所以还有一步你需要做的就是将这个文件pull到你本机上,以方便查看。这个pull完全可以加在build.xml中,因为我是走了很多弯路,所以代码就直接附在下面了:

<echo level="info"> pull log...</echo>

<exec executable="${adb}" failonerror="true">

<arg line="${adb.device.arg}"/>

<arg value="pull"/>

<arg value="/sdcard/Logs/${user.locale}/documentscloud.log"/>

<arg value="${tested.project.dir}\reports\${project.name}\${user.locale}"/>

</exec>

<echo level="info"> pull screenshots...</echo>

<exec executable="${adb}" failonerror="true">

<arg line="${adb.device.arg}"/>

<arg value="pull"/>

<arg value="/sdcard/Robotium-Screenshots/${user.locale}"/>

<arg value="${tested.project.dir}\reports\${project.name}\${user.locale}\screenshots"/>

</exec>

8、 AndroidManifest.xml

Android的这个文件也相当重要。这个是在你新建project就默认生成的,你真正用的时候只要把你需要修改的修改一下就好了。

比较重要的有:

<instrumentation

        android:name="testrunnertwo.InstrumentationTestRunner"

        android:targetPackage="com.oracle.webcenter.cloud.documents.android" />

以及一些权限问题,类似:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

这些权限都是根据你真正测试过程中的需要添加的

9、 InstrumentationTestRunner

下面要说的就是InstrumentationTestRunner,这个我最开始也是饶了很大一圈,最开始想直接用junit,结果发现一直有问题,然后一直改,后来才发现行不通,要记住:robotium的测试和selenium的测试是不同的。

Android单元测试的主入口,相当于JunitTestRunner的作用。

Android自动化测试(Jenkins+Robotium+Ant+Junit)[PART TWO]

上一篇:【Android基础】listview控件的使用(1)------最简单的listview的使用


下一篇:android 监听wifi和数据连接