2013-04-03 2 views
0

Я установил ant, я установил ANT_HOME в системные переменные. Установите JAVA_HOME в переменные системной среды. Загрузите файл tools.jar в папку «JRE/lib». Теперь, где я должен создать build.xml, в какой папке. У меня есть basic build.xml. В этом файле build.xml, где я упоминаю свои сценарии для запуска. например, мой тестовый скрипт ищет что-то в google, а затем завершает работу. Я использую Java, TestNG писать свои скрипты на windows7Как запустить скрипты автоматизации с помощью ant build.xml?

<?xml version="1.0"?> 
<project name="sampleProject" basedir="." default="jar"> 
    <property name="src" value="ant-source"/> 
    <property name="output" value="bin"/> 

    <target name="compile" depends="create"> 
     <javac destdir="bin"> 
      <src path="${src}"/> 
      <classpath refid="java"/> 
     </javac> 
    </target> 

    <target name="jar" depends="compile"> 
     <jar destfile="test.jar"> 
      <fileset dir="bin"/> 
     </jar> 
    </target> 


    <target name="clean"> 
     <delete dir="${output}"/> 
    </target> 

    <target name="create" depends="clean"> 
     <mkdir dir="${output}"/> 
    </target> 

    <path id="java"> 
     <fileset dir="D:JarsHibernate"> 
      <include name="*.jar"/> 
     </fileset> 
    </path> 
</project> 
+0

для начала JAVA_HOME yo be JDK_HOME область. Копирование инструментов.jar может оказаться недостаточным шагом для получения работы муравьев. – Jayan

+0

Я понял. Теперь я могу запустить testng.xml через build.xml через командную строку. – user2172723

ответ

0

Это файл build.xml, который я создал для выполнения автоматических тестов из командной строки. Надеюсь, это поможет вам.

<?xml version="1.0" encoding="iso-8859-1"?> 
<!DOCTYPE project [ 
]> 

<project name="WebTestProject" default="start" basedir="."> 

<!-- ========== Initialize Properties =================================== --> 
    <property environment="env"/> 
    <property file="./environmentConfig.properties"/> 

    <property name="ws.home" value="${basedir}"/> 
    <property name="test.dest" value="${ws.home}/build"/> 
    <property name="test.src" value="${ws.home}/src"/> 
    <property name="browser" value="/usr/bin/google-chrome"/> 
    <property name="mail_body_file" value="${basedir}/email_body.txt"/> 
    <property name="buildID" value="build123"/> 
    <property name="sendmailscript_path" value="${basedir}/sendmail.sh"/> 
    <property name="mail_subject" value="Automated_test_execution_of_${buildID}"/> 
    <property name="mail_recipient" value="[email protected]"/> 


    <!-- ====== For setting the classpath ==== --> 
    <target name="setClassPath" unless="test.classpath"> 
     <path id="classpath_jars"> 
      <fileset dir="${ws.home}/lib" includes="*.jar"/> 
     </path> 
     <pathconvert pathsep=":" property="test.classpath" refid="classpath_jars"/> 
    </target> 




    <!-- ============ Initializing other stuff =========== --> 
    <target name="init" depends="setClassPath"> 

    <taskdef name="testng" classpath="${test.classpath}" classname="org.testng.TestNGAntTask" /> 

    </target> 



    <!-- cleaning the destination folders --> 
    <target name="clean"> 
     <delete dir="${test.dest}"/> 
    </target> 


    <!-- target for compiling the java files --> 
    <target name="compile" depends="init, clean" > 
     <delete includeemptydirs="true" quiet="true"> 
      <fileset dir="${test.dest}" includes="**/*"/> 
     </delete> 
     <echo message="making directory..."/> 
     <mkdir dir="${test.dest}"/> 

     <echo message="compiling..."/> 
     <javac 
      debug="true" 
      destdir="${test.dest}" 
      srcdir="${test.src}" 
      target="1.6" 
      classpath="${test.classpath}" 
      includeantruntime="true" 
     > 
     </javac> 
     </target> 


    <!-- run --> 
    <target name="run" depends="compile"> 
     <testng classpath="${test.classpath}:${test.dest}" suitename="InitialTestSuite"> 
      <xmlfileset dir="${ws.home}" includes="testng.xml"/> 
     </testng> 

    </target> 



    <!-- ========== Generating reports using XSLT utility ============== --> 
    <target name="testng-xslt-report"> 
       <delete dir="${basedir}/testng-xslt"> 
       </delete> 
       <mkdir dir="${basedir}/testng-xslt"> 
       </mkdir> 
       <echo message="Generating XSLT report..."/> 
       <xslt in="${basedir}/test-output/testng-results.xml" style="${basedir}/testng-results.xsl" out="${basedir}/testng-xslt/index.html"> 
        <param expression="${basedir}/testng-xslt/" name="testNgXslt.outputDir" /> 
        <param expression="true" name="testNgXslt.sortTestCaseLinks" /> 
        <param expression="FAIL,SKIP,PASS,CONF,BY_CLASS" name="testNgXslt.testDetailsFilter" /> 
        <param expression="true" name="testNgXslt.showRuntimeTotals" /> 
        <classpath refid="classpath_jars"> 
        </classpath> 
       </xslt> 
       <echo message="XSLT report generated"/> 
    </target> 


    <!-- ====== Fetch the generated report's index.html, open a chrome browser and show the report.========= --> 
    <target name="runAndViewReport" depends="run, testng-xslt-report"> 
      <exec executable="${browser}" spawn="yes"> 
      <arg line="'${basedir}/testng-xslt/index.html'" /> 
      </exec> 
     <echo message="Opening up the report in a browser..."/> 
    </target> 


    <!-- Starting point of the execution, should be dependent on target "run". 

    Target sequence will be: 
    start (not_execute) ==> run (not_execute) ==> compile (not_execute) ==> init (execute) ==> clean (execute) 
    start (execute) <== testng-xslt-report (execute) <== run (execute) <== compile (execute) <== 

    Suitable for ANT 1.7. Currently using this ====================== --> 


    <target name="start" depends="run, testng-xslt-report"> 
     <tstamp prefix="getTime"> 
       <format property="TODAY" pattern="MM-dd-yyyyhhmmaa"/> 
     </tstamp> 
     <echo message="sending report as mail...."/> 
     <property name="execution_time" value="${buildID}_${getTime.TODAY}"/> 
     <property name="dest_file" value="/home/Reports/${execution_time}.zip"/> 
     <zip destfile="/home/${execution_time}.zip" 
      basedir="${basedir}/testng-xslt"/> 
     <property name="report_attachment_file" value="${dest_file}"/> 
     <exec executable="${sendmailscript_path}" newenvironment="false"> 
        <arg value="${mail_subject}"/> 
        <arg value="${mail_recipient}"/> 
        <arg value="${report_attachment_file}"/> 
        <arg value="${mail_body_file}"/> 
     </exec> 

    </target> 


</project> 
Смежные вопросы