您的位置:首页 > 其它

简述自动化测试01-ant

2014-07-07 14:47 176 查看
■ 文/传智播客安卓基础课程研究组





■ 文/传智播客安卓基础课程研究组

要想开发一个自动化测试的框架,我们首先需要一个工具,工具的名称叫ant。

1、什么是ant

ant是构建工具,是一种基于Java的build工具。有人称它为a nice tool,非常好用。

2、什么是构建

构建就是把原材料按照步骤有机地结合在一起的过程。例如,把.Java源代码编译成.class,把.class文件拷贝到某个目录,把所有的.class文件打开一个jar包,放在另外的一个目录。

3、ant的好处

跨平台:Java语言实现,跨平台;

使用简单:与ant的兄弟make比起来;

语法清晰:与make语法相比;

功能强大:ant 过程丰富,并且支持插件扩展。

4、ant的使用

1)构建ant环境

要使用ant首先要构建一个ant环境,步骤很简单:

安装jdk,设置JAVA_HOME ,PATH ,CLASS_PATH

下载ant下载地址http://www.apache.org/

解压ant得到一个压缩包,解压缩它,并把它放在一个尽量简单的目录,例如D:\ant。

设置ANT_HOME PATH中添加ANT_HOME目录下的bin目录,测试一下你的设置,开始-->运行-->cmd进入命令行-->键入ant回车,如果看到Buildfile: build.xml does not exist!

Build failed

那么恭喜你,你已经完成ant的设置。

2)体验ant

就像每个语言都有HelloWorld一样,一个最简单的应用能让人感受一下Ant。首先你要知道你要干什么,我现在想做的事情是:

编写一些程序-->编译它们-->把它打包成jar包-->把它们放在应该放置的地方-->运行。

这里为了简单起见只写一个程序,就是

HelloWorld.java程序代码如下:

package test.ant;

public class HelloWorld{

public static void main(String[] args){

System.out.println("Hello itcast");

}

}

为了达到上边的目的,你可以通过手动用Javac、copy、jar、Java来完成,但是考虑一下如果你有成百上千个类,在多次调试,部署的时候,一次次的Javac、copy、jar、Java那将是一份辛苦的工作,现在看看ant怎么优雅地完成它们。

要运行ant需要有一个build.xml,虽然不一定要叫这个名字,但是建议你这么做,下边就是一个完整的build.xml,然后我们来详细地解释每一句。

<?xml version="1.0" encoding="UTF-8" ?>

<project name="HelloWorld" default="run" basedir=".">

<property name="src" value="src"/>

<property name="dest" value="classes"/>

<property name="hello_jar" value="hello1.jar"/>

<target name="init">

<mkdir dir="${dest}"/>

</target>

<target name="compile" depends="init">

<javac srcdir="${src}" destdir="${dest}"/>

</target>

<target name="build" depends="compile">

<jar jarfile="${hello_jar}" basedir="${dest}"/>

</target>

<target name="run" depends="build">

<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>

</target>

<target name="clean">

<delete dir="${dest}" />

<delete file="${hello_jar}" />

</target>

<target name="rerun" depends="clean,run">

<ant target="clean" />

<ant target="run" />

</target>

</project>

解释:

<?xml version="1.0" encoding="UTF-8" ?>

build.xml中的第一句话,没有实际的意义

<project name="HelloWorld" default="run" basedir="."></project>

ant的所有内容必须包含在这里面,name是你给它取的名字,basedir顾名思义就是工作的根目录,代表当前目录。default代表默认要做的事情。

<property name="src" value="src"/>

类似程序中的变量,为什么这么做?想一下变量的作用。

<target name="compile" depends="init">

<javac srcdir="${src}" destdir="${dest}"/>

</target>

把你想做的每一件事情写成一个target,它有一个名字,depends是它所依赖的target,在执行这个target 例如这里的compile之前,ant会先检查init是否曾经被执行过,如果执行过则直接执行compile,如果没有则会先执行它依赖的target,例如这里的init,然后再执行这个target,如我们的计划。

编译:

<target name="compile" depends="init">

<javac srcdir="${src}" destdir="${dest}"/>

</target>

做jar包:

<target name="build" depends="compile">

<jar jarfile="${hello_jar}" basedir="${dest}"/>

</target>

运行:

<target name="run" depends="build">

<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>

</target>

为了不用拷贝,我们可以在最开始定义好目标文件夹,这样ant就直接把结果放在目标文件夹中了。

新建文件夹:

<target name="init">

<mkdir dir="${dest}"/>

</target>

为了更多一点的功能体现,又加入了两个target删除生成的文件:

<target name="clean">

<delete dir="${dest}" />

<delete file="${hello_jar}" />

</target>

再次运行,这里显示了如何在一个target里面调用其他的target:

<target name="rerun" depends="clean,run">

<ant target="clean" />

<ant target="run" />

</target>

好了,解释完成了,下边检验一下你的ant吧!

新建一个src的文件夹,然后把HelloWorld.java安装包目录放进去,做好build.xml文件,在命令行下键入ant ,你会发现一个个任务都完成了。每次更改完代码只需要再次键入ant。有的时候我们可能并不想运行程序,只想执行这些步骤中的某一两个步骤,例如我只想重新部署而不想运行,键入ant build,ant中的每一个任务都可以这样调用ant + target name,好了,这样一个简单的ant任务完成了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: