ANT+SVN安卓测试框架:ANT部分一
本文主要讲述如何配置ANT+SVN测试框架的ANT部分。
ANT在框架中的主要作用相当于取代人的作用,自动化构建测试环境,思路如下
- 系统定时运行bat文件
- ==>bat文件执行启动ant的命令
- ==>ant的xml文件从svn服务器上下载/更新版本库
- ==>ant执行安卓测试任务(包括自动编译,打包,安装,测试)
- ==>ant发送日志文件到邮箱。
第一步:安装ANT
理所当然想要使用ant工具首先需要安装ant,安装过程详细可自行问度娘。
- 到ant的官网下载最新的安装包,关键是jar包
- 在环境变量中加入ANT_HOME变量,值为安装包的解压目录,在系统变量path中加入lib路径(这里的作用一是方便在命令行中调用ant命令,为bat文件执行命令建立基础;二是可以在ant的xml文件中默认调用ant下lib的jar包)
第二步:连接SVN
想要通过ant连接SVN需要一个名为svnant的工具,自行百度svnant-x.x.x(本例中使用svnant-1.3.1);
注:应该同时需要svn的客户端,由于编码电脑中安装的svn的客户端和服务端,不能确定是否需要,留后研究。
直接分析从svn检出版本的代码(实际上只需要2个功能:检出和更新)
检出即从版本库中下载版本代码,在首次构建测试环境时使用,以后则使用更新功能。
------------checkout.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- 本文件用于检出工程,依赖于子目录svnant_lib中的4个svnant-1.3.1包和path.properties --> <!-- 在path.properties中设置SVN地址 (svn-url) --> <!-- 默认检出版本到本文件所在目录下 --> <project name="checkout" default="check-out"> <property file="path.properties" /> <property name="destpath" value="${basedir}/files"></property> <!-- 定义一个PATH元素,告诉ANT 到哪找SVNANT的类库 --> <path id="path.svnant"> <!-- SVNANT通讯包 --> <!-- 若将包放到ANT_HOME下的lib目录下则不需要此定义 --> <pathelement location="${basedir}/svnant_lib/svnant.jar"/> <pathelement location="${basedir}/svnant_lib/svnClientAdapter.jar"/> <pathelement location="${basedir}/svnant_lib/svnkit.jar"/> <pathelement location="${basedir}/svnant_lib/svnjavahl.jar"/> </path> <!-- 必须指出resource --> <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="path.svnant"/> <!-- 引用 svnantlib.xml ,其中定义了ANT的SVN命令,见下方详解。 --> <!-- 定义svnSetting ,新的设置SVN属性方式 --> <!-- 通过SVNKIT模式(即设置为TRUE),而不是JAVAHL模式 --> <svnSetting id="svn.settings" svnkit="true" javahl="false" username="" password=""> </svnSetting> <!-- 检出SVN版本,第一次使用建立SVN的work copy --> <target name="check-out"> <echo message="begin check out from ${svn-url} to ${destpath}"></echo> <!--引用上面定义的svnSetting ,新的设置SVN属性方式--> <svn refid="svn.settings"> <!-- 执行checkout 命令--> <checkout recurse="true" url="${svn-url}" destPath="${destpath}" /> </svn> <echo message="success!"></echo> </target> </project>
以上代码文件要求如下:
---checkout.xml 上述代码
---path.properties 资源文件,定义代码中需要的变量
---svnant_lib svnant的jar包
---svnant.jar
---svnClientAdapter.jar
---svnkit.jar
---svnjavahl.jar
------------path.properties
#svn服务器版本库路径 svn-url = svn://localhost/svndemo/test #检出路径 destpath = files
svn-url:服务器的路径设置在svn部分说明
destpath:为了方便管理,将所有从版本库中检出的文件放到当前目录下的files文件夹中,没有则自动新建
为了可以从版本库中获取文件还需要权限,一般需要在服务器端设置用户和密码,详细不作讨论,自行百度。连接时需要设置用户名在下面位置设置
<svnSetting id="svn.settings" svnkit="true" javahl="false" username="" password=""> </svnSetting>
一般个人测试开发,对安全性基本没有要求,所以这里简单地没有设置用户,即匿名访问,需要在svn的服务器端增加匿名访问write/read权限才能正常访问,详细见svn部分:ANT+SVN安卓测试框架:SVN部分;