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部分;