张亚洲 发表于 2015-1-7 09:00:09

【我分享】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路径] -m路径
然后在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单元测试的主入口,相当于Junit中TestRunner的作用。


页: [1]
查看完整版本: 【我分享】Android自动化测试(Jenkins+Robotium+Ant+Junit)[PART TWO]