Ant项目配置与测试用例管理
1. 下载ant工具包 (http://www.fayea.com/apache-mirror//ant/binaries/apache-ant-1.9.0-bin.zip)
?
2. 配置ant环境变量(ant存放路径)
ANT_HOME::C:\Program Files\Java\apache-ant-1.9.0
PATH:%ANT_HOME%/bin
?
3. 查看是否安装成功:在dos窗口中输入命令ant,若出现结果
Buildfile: build.xml does not exist!
Build failed
说明ant安装成功,因为ant默认运行build.xml,这个需要我们自己建立。
?
4. 在项目中新建build.xml文件
?
<project basedir="." default="default" name="automation test"><!--工程根目录--><property name="base.dir" value="." /><!--测试结果输出路径--><property name="testng.output.dir" value="${base.dir}/test-output" /><!--工程引用包--><property name="lib.dir" value="${base.dir}/lib" /><!--class文件存放位置--><property name="classes.dir" value="classes" /><property name="src.dir" value="src" /><property name="run.test.classes.dir" value="${base.dir}/bin/com/zzt/test" /><property name="testng.threadcount" value="1"/><!--清除--><target name="clean"><delete dir="${base.dir}/bin" /></target><!--编译工程所需的jar包--><path id="classes"><fileset dir="${lib.dir}" includes="*jar" /><fileset dir="${lib.dir}" includes="*zip" /><pathelement location="${base.dir}/bin" /></path><!--copy项目所需要的xml及properties文件--><target name="compile" depends="clean"><mkdir dir="${base.dir}/bin" /><javac srcdir="${base.dir}/src" destdir="${base.dir}/bin" classpathref="classes" includeantruntime="off" debug="on" debuglevel="lines,vars,source" /><!--将配置文件拷贝到bin目录下--><copy todir="${base.dir}/bin"><fileset dir="${src.dir}"><include name="**/*.xml" /><include name="**/*.properties" /></fileset><fileset dir="${base.dir}"><include name="**/*.xml" /><include name="**/*.properties" /></fileset></copy></target><!--此处很重要,如果你要运行的case是testNG,必须配置--><taskdef resource="testngtasks" classpath="${lib.dir}/testng-6.2.jar" /><!--调用的TestNG用例执行xml文件,这里是文件名--><property name="testng.file" value="testNG.xml" /><!--默认情况下的缺省任务--><target name="default" depends="compile"><testng outputdir="${testng.output.dir}" classpathref="classes" delegateCommandSystemProperties="true"><xmlfileset dir="${base.dir}" includes="${testng.file}" /></testng></target><!--根据命令行传参,运行指定的case,eg. ant test-single -Dtest.class=TestNG--><target name="test-single" description="Compile tests and Run a single test specified by -Dtest.class" depends="compile"><condition property="test.class" value="${env.TEST_CLASS}"><isset property="env.TEST_CLASS"/></condition> <condition property="run.test" value="**/${test.class}.class"> <isset property="test.class"/> </condition> <testng outputdir="${testng.output.dir}" classpathref="classes" delegateCommandSystemProperties="true"><classfileset dir="${base.dir}" includes="${run.test}" /></testng></target><!--多线程,eg. ant test-all -Dtestng.threadcount=4--><target name="test-all" description="run all tests with multi-thread" depends="compile"><testng classpathref="classes" suiteThreadPoolSize="${testng.threadcount}" parallel="classes" threadCount="${testng.threadcount}"><classfileset dir="${base.dir}" includes="**/*Tests.class" /></testng></target></project>
?
对应testNG.xml:
?
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" ><suite name="Suite" parallel="false"><test name="Test" preserve-order="true"><!-- 分组测试,这里只是对TestNG中的属于组Test1的方法进行测试 --><!-- <groups> --><!-- <run> --><!-- <include name="Test2"></include> --><!-- </run> --><!-- </groups> --><classes><!-- <class name="com.zzt.test.AntTestNG1Tests" /> --><class name="com.zzt.test.AntTestNG2Tests" /></classes><!-- 对指定的方法进行测试 --><!-- <classes> --><!-- <class name="com.zzt.test.AntTestNGTest"> --><!-- <methods> --><!-- <include name="testMethod1"></include> --><!-- </methods> --><!-- </class> --><!-- </classes> --></test></suite>
?
?
附件Ant_TestNG_Test.zip为该项目源码(含 testng-6.2.jar)
?