资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
Windows下构建robotium+jenkins+TMTS可持续集成自动化测试前言TMTS是淘宝的自动化测试构架,优缺点都较为明显优点:最主要的就是已经实现出错截屏并提供日志缺点:比较小众化,遇到问题也无人解答自动化测试终究是要能够持续集成才能有更大的意义的,利用robotium+jenkins可以实现集成测试,但此时要想得到出错截屏加日志就麻烦了。TMTS主要由三部分组成1.TmtsFramework进行自动化用例编写2.TmtsToolkit进行出错截屏与获取日志报告3.hudson进行apk包的自动打包、安装,并进行用例执行TmtsFramework编写用例其实与robotium编写用例一样都是基于instrument的,因此想用robotium编写用例,而同时又想得到出错截屏与日志报告就完全可以使用robotium+TmtsToolkit因此就可以用robotium+jenkins+TmtsToolkit构建可持续集成自动化测试Windows下环境搭建软件安装1.安装jdk2.安装tomcathttp:/tomcat.apache.org/download-70.cgi3.安装anthttp:/ant.apache.org/bindownload.cgi4.安装jenkinshttp:/jenkins-ci.org/下载war包,放于tomcat的webapps目录下,启动tomcat将自动部署5.安装Android SDKhttp:/developer.android.com/sdk/index.html搭建android开发环境,包括eclipse,ADT等6.下载TMTS架构中的athena-1.1.jar、ddmlib.jar包http:/code.taobao.org/p/TMTS/src/branches/V1.1/trunk/android/AthrunTest/当然最好把整个TMTS下载下来环境变量PATH添加javaapache-ant-1.8.2binjavaandroid-sdk-windowstoolsjavaandroid-sdk-windowsplatform-toolsJavajdk1.6.0_07bin添加ANDROID_HOME添加JAVA_HOME添加ANT_HOME有什么命令找不到了就加下PATH变量tomcat启动运行 javaapache-tomcat-7.0.8binstartup.batjenkins配置浏览器访问 http:/localhost:8080/jenkins插件安装Hudson Subversion Plug-in,jenkins的svn插件Android Emulator Plugin,android模拟器插件JUnit Attachments Plugin,junit测试报告附件插件Email-ext plugin,邮件扩展插件。此处说明下,默认Jenkins只会发送构建失败的邮件,我们需安装此插件才能自定义不同场景除了这些之外还可以安装其它一些插件,那样可以使得Jenkins非常强大,需要什么安装什么构建build.xml文件,使用ant自动打apk包,构建build.xml文件及ant打包可以参考其它文章构建任务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.添加构建步骤Build项Add build step中选择“Execute Windows batch command”这里填的命令与Windows中cmd下命令行中的命令是一样的填入如下命令:(cd TmtsApptoolantadb -s %ANDROID_AVD_DEVICE% uninstall com.taobao.tmts.framework.appadb -s %ANDROID_AVD_DEVICE% install apkTmtsApp.apk)根据实际需要cd到相应目录,卸载apk包、安装apk包再下拉添加一个Execute Windows batch command(cd TmtsTesttooltest-packet.batadb -s %ANDROID_AVD_DEVICE% uninstall com.taobao.tmts.framework.testadb -s %ANDROID_AVD_DEVICE% install apkTmtsTest.apk)根据实际需要cd到相应目录,卸载测试工程的apk包、安装测试工程的apk包再下拉添加一个Execute Windows batch commandecho %ANDROID_AVD_DEVICE%cd TmtsTestdel TEST-*.xml /q(athena . “TEST-GridViewActivityTest.xml” %ANDROID_AVD_DEVICE% com.taobao.tmts.framework.test.GridViewActivityTestathena . “TEST-ListViewActivityTest.xml” %ANDROID_AVD_DEVICE% com.taobao.tmts.framework.test.ListViewActivityTestathena . “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.InstrumentationTestRunnerathena.bat内容如下:java -cp athena-1.1.jar;ddmlib.jar com.synaptik.athena.Athena %1 %2 %3 %4 E:androidupload调用了athena-1.1.jar和ddmlib.jar,所有这里与TMTS相关的其实就是需要这两个jar包以实现截图与日志报告功能5.构建后操作Post-build Actions勾选“Publish JUnit test result report”,填入TmtsTestTEST-*.xml当然jenkins也可以选择构建后发送邮件,构建后再执行其它任务等Linux下构建robotium+jenkins+TMTS可持续集成自动化测试前言为什么要在Linux上构建自动化环境呢?因为在Linux上执行速度要比在Windows快很多,以打包apk为例,至少快一倍。如果公司每个版本要打几百个apk渠道包,这效率将大幅提升。软件安装1.安装jdk2.安装tomcathttp:/tomcat.apache.org/download-70.cgi3.安装anthttp:/ant.apache.org/bindownload.cgi4.安装jenkinshttp:/jenkins-ci.org/下载war包,放于tomcat的webapps目录下,启动tomcat将自动部署5.安装Android SDKhttp:/developer.android.com/sdk/index.html在linux中搭建android开发环境,包括eclipse,ADT等6.下载TMTS架构中的athena-1.1.jar、ddmlib.jar包http:/code.taobao.org/p/TMTS/src/branches/V1.1/trunk/android/AthrunTest/当然最好把整个TMTS下载下来所需软件是与Windows中一样的,只不过相应软件需要用Linux版,且需要注意32位与64位环境变量、Jenkins配置与Windows上差不多,略构建任务与Windows上的区别在于这里要执行的是shell命令Build项Add build step中选择“Execute Shell”(cd TmtsApp/toolantadb -s $ANDROID_AVD_DEVICE uninstall com.taobao.tmts.framework.appadb -s $ANDROID_AVD_DEVICE install apk/TmtsApp.apk)根据实际需要cd到相应目录,卸载apk包、安装apk包注意:在对ANDROID_AVD_DEVICE这个参数进行参数构建时,Windows中是用两个%即%ANDROID_AVD_DEVICE%,而Linux中变量则用$表示,即$ANDROID_AVD_DEVICE再下拉添加一个“Execute Shell”(cd TmtsTesttooltest-packet.batadb -s $ANDROID_AVD_DEVICE uninstall com.taobao.tmts.framework.testadb -s $ANDROID_AVD_DEVICE install apk/TmtsTest.apk)根据实际需要cd到相应目录,卸载测试工程的apk包、安装测试工程的apk包再下拉添加一个“Execute Shell”echo $ANDROID_AVD_DEVICEcd TmtsTestrm -rf TEST-*.xml(./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)这里需要将Windows中的athena.bat修改成Linux中的athena脚本文件并进行执行athena.bat文件内容:java -cp athena
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号