无法创建任务或键入testng:Ant

时间:2015-07-09 08:09:25

标签: selenium ant build

我的build.xml是:

<?xml version="1.0"?>   

<project name="Test" default="test" basedir=".">

   <!-- Define <testng> task -->

<taskdef resource="testngtasks"> 
   <classpath>
      <pathelement location="/lib/testng-6.9.4.jar"/>
   </classpath>
</taskdef>

 <property name="testdir" location="test" />
 <property name="srcdir" location="src" />
 <property name="libdir" location="lib" />
 <property name="full-compile" value="true" />

 <path id="classpath.base"/>
 <path id="classpath.test">   
   <fileset dir="${libdir}">
      <include name="**/*.jar" />
   </fileset>  
    <pathelement location="${testdir}" />
    <pathelement location="${srcdir}" />   
    <path refid="classpath.base" />
 </path>

 <target name="clean" >
    <delete verbose="${full-compile}">
      <fileset dir="${testdir}" includes="**/*.class" />
    </delete>
   <echo>Cleaned Successfully.</echo>
 </target>

 <target name="compile" depends="clean">
  <echo>Compiling</echo>
    <javac srcdir="${srcdir}" destdir="${testdir}" verbose="${full-compile}">
       <classpath refid="classpath.test"/>
    </javac>
  <echo>Java file compiled Successfully.</echo>
 </target>

 <target name="test" depends="compile">     
    <testng outputdir="${testdir}" classpathref="classpath.test"> 
      <xmlfileset dir="${srcdir}" includes="TestNG.xml"/> 
    </testng>
 </target>   
</project>

我收到以下错误:

  

BUILD FAILED
`Path \ build.xml:44:问题:创建任务失败   或者输入testng原因:名称未定义。
动作:检查   拼写。
动作:检查是否有任何自定义任务/类型   声明。
动作:检查是否/   声明已经发生。

我将来有这个问题,下面是链接: ANT: Build Failed: failed to create task or type testng:

我按照所有步骤操作,但又一次开始给出错误。

请帮助!!

改为解决第一个问题

但是我收到了另一个问题,即在使用ant运行时,没有读取包含URL,凭据和所有内容的.properties文件。

我使用过testNG并正在读取.properties文件中的URL。 通过直接从eclipse运行,每个和一切都正常工作,可以看到但是使用ant执行只是打开浏览器而不是导航到.properties文件中指定的URL。

我可以在日志中看到方法名称,但没有一个可以运行,因为没有URL打开。请建议在这种情况下该怎么做。

1 个答案:

答案 0 :(得分:1)

  

BUILD FAILED`Path \ build.xml:44:问题:无法创建任务或   type testng原因:名称未定义。行动:检查拼写。   操作:检查是否已声明任何自定义任务/类型。行动:   检查是否已发生任何/声明。

<taskdef resource="testngtasks"> 
   <classpath>
      <pathelement location="/lib/testng-6.9.4.jar"/>
   </classpath>
</taskdef>

发生上述错误是因为ant无法找到您的TestNg jar文件。请将上面的taskdef标记替换为下面的

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

希望这能帮助你...如果你有任何问题,请回来