0

使用 ant 运行 testng 测试,但它没有运行或显示任何错误。甚至消息(运行测试)也没有打印在控制台中。这是build.xml。构建成功并创建了一个 JAR。感谢您对此的任何帮助。

<?xml version="1.0" encoding="UTF-8"?>
<project name="BANC">

<property name="project.path" value="." />
<property name="src" value="${project.path}/src" />
<property name="bin" value="${project.path}/bin" />
<property name="testngxmldir" value="${project.path}/src/com/portico/regressionsuite" />
<property name="bancJarFile.path" value="./build/BANC.jar" />

<!-- Set class path libraries to be used for compilation -->
<path id="class.path">
<pathelement location="lib" path="lib/activation.jar"/>
<pathelement location="lib" path="lib/commons-lang-2.4.jar"/>
<pathelement location="lib" path="lib/jxl.jar"/>
<pathelement location="lib" path="lib/logging-selenium-1.2.jar"/>
<pathelement location="lib" path="lib/mail.jar"/>
<pathelement location="lib" path="lib/ojdbc14.jar"/>
<pathelement location="lib" path="lib/poi-3.0.2-FINAL.jar"/>
<pathelement location="lib" path="lib/reportng-1.1.1.jar"/>
<pathelement location="lib" path="lib/saxon-8.7.jar"/>
<pathelement location="lib" path="lib/selenium-grid-demo-1.0.7.jar"/>
<pathelement location="lib" path="lib/selenium-grid-demo-standalone-1.0.7.jar"/>
<pathelement location="lib" path="lib/selenium-grid-hub-1.0.7.jar"/>
<pathelement location="lib" path="lib/selenium-grid-hub-standalone-1.0.7.jar"/>
<pathelement location="lib" path="lib/selenium-grid-remote-control-1.0.7.jar"/>
<pathelement location="lib" path="lib/selenium-grid-remote-control-standalone-1.0.7.jar"/>
<pathelement location="lib" path="lib/selenium-grid-tools-1.0.7.jar"/>
<pathelement location="lib" path="lib/selenium-grid-tools-standalone-1.0.7.jar"/>
<pathelement location="lib" path="lib/selenium-server-1.0.3-standalone.jar"/>
<pathelement location="lib" path="lib/velocity-1.7.jar"/>
<pathelement location="lib" path="lib/jna-3.4.0.jar"/>
<pathelement location="lib" path="lib/sikuli-script.jar"/>
<pathelement location="lib" path="lib/testng-6.8.jar"/>
<pathelement location="lib" path="${bin}"/>
</path>

<!-- Compile targets-->
<target name="banc">
    <echo message="Compiling BANC Source..." />
    <mkdir dir="${bin}" />
    <javac classpathref="class.path" destdir="${bin}" encoding="UTF-8" optimize="off" 
    debug="on" failonerror="true" srcdir="${src}" />
    <jar destfile="${bancJarFile.path}" basedir="${bin}" />
</target>

<taskdef name="testng" classname="org.testng.TestNGAntTask">
    <classpath>
        <pathelement location="lib/testng-6.8.jar"/>
    </classpath>
</taskdef>

<target name="runTest">
<echo message="Running Tests..." />
    <testng classpathref="class.path" outputDir="${project.path}/test-output" 
    sourcedir="${bin}" haltOnfailure="true">
        <xmlfileset dir="${testngxmldir}" includes="regressionsuite.xml"/>
    </testng>   
</target>

 </project>
4

1 回答 1

2

看起来你并没有告诉 ant 要运行哪个目标——所以它只是选择了第一个目标。如果你用ant banc runTest它运行它应该可以正常工作。

执行此操作的常用方法是定义一个空目标,该目标取决于所有所需目标 aud 设置为<project>标签中的默认值。此外,您的“runTest”目标应该依赖于“banc”,因为运行测试需要事先构建项目。在这种情况下,您也可以简单地执行一个ant runTest--ant 将自动以正确的顺序运行所有相关任务。

于 2013-05-22T12:46:40.963 回答