0

我是一个硒用户,试图使用 Ant 生成 xslt 报告,但是当我在 cmd 中运行 Ant 时,它显示 build.xml 的错误不存在,而我的项目文件夹中有 build.xml 文件。

  1. 我在 Windows 7 上使用 eclispe juno,并将 build.xml 文件保存在项目下。
  2. 我的机器上有 java JDK1.7,我已经按照 apache.org 上的说明设置了环境变量(Java 和 ant 两者)
  3. Ant 版本是 apache-ant-1.9.1
  4. 我已经在eclipse的项目中导入了所有必要的jar文件(selenium + maven +saxon +通过ant进行xslt报告所需的所有文件)。当我试图通过 cmd 运行 ant 时,它向我显示了这个错误:-

构建失败

D:\Projects\Project\Selenium\Workspace\build.xml:70: Compile failed; see the compiler error output for details.

下面是我的 build.xml 文件:-

<project name="Plumslice" default="usage" basedir=".">


<property environment="env"/>
<property name="ws.home" value="${basedir}"/>
<property name="ws.jars" value="D:\All jars"/>
<property name="test.dest" value="${ws.home}/build"/>
<property name="test.src" value="${ws.home}/src"/>
<property name="ng.result" value="test-output"/>

<!--target name="start-selenium-server">
<java jar="${ws.home}/lib/selenium-server.jar"/>
</target-->

<target name="setClassPath" unless="test.classpath">
<path id="classpath_jars">
<fileset dir="${ws.jars}" includes="*.jar"/>
</path>
<pathconvert pathsep=":"
property="test.classpath"
refid="classpath_jars"/>
</target>

<target name="init" depends="setClassPath">
<tstamp>
<format property="start.time" pattern="MM/dd/yyyy hh:mm aa" />
</tstamp>
<condition property="ANT"
value="${env.ANT_HOME}/bin/ant.bat"
else="${env.ANT_HOME}/bin/ant">
<os family="windows" />
</condition>
<taskdef name="testng" classpath="${test.classpath}"
classname="org.testng.TestNGAntTask" />

</target>

<!-- all -->
<target name="all">
</target>

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


<!-- compile -->
<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="classpath------: ${test.classpath}"/>
<echo message="compiling..."/>

<javac
debug="true"
destdir="${test.dest}"
srcdir="${test.src}"
target="1.7"
classpath="${test.classpath}">
</javac>
<copy todir="${test.dest}">
<fileset dir="${test.src}" excludes="**/*.java"/>
</copy>
</target>


<!-- build -->
<target name="build" depends="init">
</target>

<!-- run -->
<target name="run" depends="compile">
<testng classpath = "${test.classpath}:${test.dest}" suitename = "suite1" >
<xmlfileset dir="${ws.home}" includes="testng.xml"/>
</testng>
<!--
<testng classpath="${test.classpath}:${test.dest}" groups="fast">
<classfileset dir="${test.dest}" includes="example1/*.class"/>
</testng>
-->
</target>




<target name="usage">
<echo>
ant run will execute the test
</echo>
</target>


<path id="test.c">
<fileset dir="${ws.jars}" includes="*.jar"/>

</path>

<target name="email" >
<java classname="com.qtpselenium.util.SendMail" classpath="${test.dest}" classpathref="test.c" />
</target>

      <target name="makexsltreports">
                <mkdir dir="${ws.home}/XSLT_Reports/output"/>

                <xslt in="${ng.result}/testng-results.xml" style="src/com/testing/xslt/testng-results.xsl"
                      out="${ws.home}/XSLT_Reports/output/index.html" classpathref="test.c" processor="SaxonLiaison">
                    <param name="testNgXslt.outputDir" expression="${ws.home}/XSLT_Reports/output/"/>
                    <param name="testNgXslt.showRuntimeTotals" expression="true"/>
                </xslt>
            </target>


</project>
4

1 回答 1

0

谢谢大家的大力帮助,我已经解决了这个错误..

它与 jar 文件的路径有关,我提供的 jar 路径不正确。

这是第 70 行:-

        <javac debug="true" destdir="${test.dest}" srcdir="${test.src}"
        target="1.7" classpath="${test.classpath}">

这与罐子的路径有关,在我的文件的第一行中,我确实提供了这个路径 - D:\All jars ,而所有必需的罐子不在这个文件夹中,现在我更新了 jar 文件夹,它工作正常现在。

于 2013-09-06T12:58:51.463 回答