Build.xml问题

时间:2012-03-20 10:06:50

标签: ant testng

Selenium - ANT -TestNG

我编写了一个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>

任何人都可以帮助我 提前谢谢

1 个答案:

答案 0 :(得分:0)

您需要在“classname”属性中指定实现数据类型的类。 根据Ant taskdef文档(更具体地说是typedef),此任务有两个必需属性 - “name”和“classname”,除非指定了“file”或“resource”。属性“classpath”仅定义可以找到“classname”中指定的类的位置。