第六章 测试架构规划及测试用例组织(下)

------手机自动化测试之Robotium

6.3 将测试用例接入到Jenkins

由于我是自己学习的手机自动化测试,没有实际投入到工作中使用,jenkins的接入也没有具体操作,现摘抄一下网页:http://www.tuicool.com/articles/jIN7vu的内容,以供大家学习和验证。

Windows下构建robotium+jenkins+TMTS可持续集成自动化测试

6.3.1 TMTS简介

TMTS是淘宝的自动化测试构架,优缺点都较为明显

优点:最主要的就是已经实现出错截屏并提供日志

缺点:比较小众化,遇到问题也无人解答

自动化测试终究是要能够持续集成才能有更大的意义的,利用robotium+jenkins可以实现集成测试,但此时要想得到出错截屏加日志就麻烦了。

TMTS主要由三部分组成

1TmtsFramework进行自动化用例编写

2TmtsToolkit进行出错截屏与获取日志报告

3hudson进行apk包的自动打包、安装,并进行用例执行

TmtsFramework编写用例其实与robotium编写用例一样都是基于instrument的,因此想用robotium编写用例,而同时又想得到出错截屏与日志报告就完全可以使用robotium+TmtsToolkit ,因此就可以用robotium+jenkins+TmtsToolkit构建可持续集成自动化测试。

6.3.2 Windows下环境搭建软件安装

1.安装jdk

2.安装tomcat

http://tomcat.apache.org/download-70.cgi

3.安装ant

http://ant.apache.org/bindownload.cgi

4.安装jenkins

http://jenkins-ci.org/

下载war包,放于tomcatwebapps目录下,启动tomcat将自动部署

5.安装Android SDK

http://developer.android.com/sdk/index.html

搭建android开发环境,包括eclipseADT

6.下载TMTS架构中的athena-1.1.jarddmlib.jar

http://code.taobao.org/p/TMTS/src/branches/V1.1/trunk/android/AthrunTest/

当然最好把整个TMTS下载下来

环境变量PATH添加

\java\apache-ant-1.8.2\bin\

\java\android-sdk-windows\tools\

\java\android-sdk-windows\platform-tools\

\Java\jdk1.6.0_07\bin\

添加ANDROID_HOME

添加JAVA_HOME

添加ANT_HOME

有什么命令找不到了就加下PATH变量

tomcat启动

运行 \java\apache-tomcat-7.0.8\bin\startup.bat

jenkins配置

 浏览器访问  http://localhost:8080/jenkins

插件安装

Hudson Subversion Plug-injenkinssvn插件

Android Emulator Pluginandroid模拟器插件

JUnit Attachments Pluginjunit测试报告附件插件

Email-ext plugin,邮件扩展插件。此处说明下,默认Jenkins只会发送构建失败的邮件,我们需安装此插件才能自定义不同场景

除了这些之外还可以安装其它一些插件,那样可以使得Jenkins非常强大,需要什么安装什么构建build.xml文件,使用ant自动打apk包,构建build.xml文件及ant打包可以参考其它文章。

6.3.3 构建测试任务

现在使用jenkins来构建我们自己的测试任务:

1)使用jenkins新建任务时,填入任务名称,选择“构建一个自由风格的软件项目”,以后新建类似任务时则可以选择“复制现有任务”。

2)勾选“This build is parameterized”进行参数化构建 Add Parameter项选择Choice,填入Name项:ANDROID_AVD_DEVICE;填入Choices项:emulator-5554(为模拟器序列号,adb devices将显示当前连接的设备序列)

3)进行SVN代码库关联 Source Code Management选择“Subversion”,Repository URL中填入SVN地址

4)添加构建步骤 BuildAdd build step中选择“Execute Windows batch command”, 这里填的命令与Windowscmd下命令行中的命令是一样的。

A,填入如下命令:

(

cd TmtsApp\tool

ant

adb -s %ANDROID_AVD_DEVICE% uninstall com.taobao.tmts.framework.app

adb -s %ANDROID_AVD_DEVICE% install apk\TmtsApp.apk

)

根据实际需要cd到相应目录,卸载apk包、安装apk

B,再下拉添加一个Execute Windows batch command

(

cd TmtsTest\tool

test-packet.bat

adb -s %ANDROID_AVD_DEVICE% uninstall com.taobao.tmts.framework.test

adb -s %ANDROID_AVD_DEVICE% install apk\TmtsTest.apk

)

根据实际需要cd到相应目录,卸载测试工程的apk包、安装测试工程的apk包。

C,再下拉添加一个Execute Windows batch command

echo %ANDROID_AVD_DEVICE%

cd TmtsTest

del TEST-*.xml /q

(

athena . "TEST-GridViewActivityTest.xml" %ANDROID_AVD_DEVICE%

com.taobao.tmts.framework.test.GridViewActivityTest 

athena . "TEST-ListViewActivityTest.xml" %ANDROID_AVD_DEVICE% com.taobao.tmts.framework.test.ListViewActivityTest athena . "TEST-MainActivityTest.xml" %ANDROID_AVD_DEVICE% com.taobao.tmts.framework.test.MainActivityTest

)

这里调用的是athena.bat文件进行批处理

robotium中单个用例执行是类似这样的:

adb shell am instrument -w -e class com.megafon.test.MegafonTest#testDeleteContact

com.megafon.test/android.test.InstrumentationTestRunner

athena.bat内容如下:

java -cp athena-1.1.jar;ddmlib.jar com.synaptik.athena.Athena %1 %2 %3 %4  E:\\android\\upload

调用了athena-1.1.jarddmlib.jar,所有这里与TMTS相关的其实就是需要这两个jar包以实现截图与日志报告功能。

5)构建后操作

Post-build Actions勾选“Publish JUnit test result report”,填入TmtsTest  \TEST-*.xml

当然jenkins也可以选择构建后发送邮件,构建后再执行其它任务等。

6.4 本章小结

  本章我们介绍了测试用例的架构,以及如何根据测试需要来组织测试用例。其实原则上都差不多,只是针对测试用途不同,组织的方法有所区别而已。最后我摘抄了网上的如何把测试用例接入到jenkins中,由于我没有实地去操作,不过感觉到有点儿复杂,应该会有简单的办法。大家如果用的到的话,可以自己研究学习一下。在接下来的章节中,我们将讲述如何生成及优化测试报告,这相当于自动化测试中的画龙点睛的部分,希望大家有兴趣!

posted @ 2015-05-04 10:45  潜龙9527  阅读(381)  评论(0编辑  收藏  举报