2012-03-20 16 views
0

硒 - ANT -TestNG在build.xml問題

我寫了一個build.xml文件,它會產生一個錯誤,指出 「taskdef元素的className屬性是未定義」

這裏是我的build.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project name ="AutomationScripts" default="test" basedir="."> 
<echo message ="Testing selenium server... Plz wait"/> 
<target name="startServer"> 
<echo message ="Start selenium server... Plz wait"/> 
<java jar="..\lib\selenium-server-standalone-2.19.0.jar" fork="true"> 
<jvmarg value="-Dhttp.proxyHost=192.168.0.200"/> 
<jvmarg value="-Dhttp.proxyPort=3128"/> </java> 
<echo message ="Started selenium server"/> 
</target> 
<target name="test" depends="startServer"> 
<echo message="Test run. Please wait"/> 
<mkdir dir="out" /> 
<java classname="RosettastoneMain" classpath="..\AutomationScripts\bin" 
dir="C:\Program Files\Java\jdk1.6.0_11\bin"> 
<classpath> 
<fileset dir="..\AutomationScripts\lib" includes="*.*"/> 
</classpatha></java> 
<taskdef name="testng" classpath="org.testng.TestNG">  ---------> It produces 
error in this stmt 
<classpath> 
<pathelement location="../lib/testng-6.2.jar"/> 
</classpath> 
</taskdef> 
<property name="testng.output.dir" value="testngOutput"/> 
<path id="classes"> 
<fileset dir="../lib"> 
    <include name="*.jar"/> 
</fileset> 
<pathelement location="${bin.dir}"/> 
</path> 
<mkdir dir="${testng.output.dir}"/> 
<testng outputdir="${testng.output.dir}" classpathref="classes"> 
<xmlfileset dir="." includes="testng.xml"/> 
</testng> </target> 
<target name="stopServer"> 
<echo message="stop selenium server. Plz wait"/> 
<get taskname="selenium-shutdown" 
src="http://localhost:4444/selenium-server-standalone-2.0rc2/driver/?cmd=shutDown" 
dest="./out/sever.stop.status.txt" ignoreerrors="true"/> 
</target> 
</project> 

任何一個可以幫助我 由於事先

回答

0

您需要指定類在「類名」實現數據類型ATTR ibute。 根據Ant taskdef文檔(更具體地說是typedef),除非指定了'file'或'resource',否則此任務具有兩個必需屬性 - 'name'和'classname'。屬性'classpath'只定義了'classname'中指定的類的位置。