从Ant运行TestNG套件时出错:“无法在类路径中找到类”

时间:2010-11-04 22:25:52

标签: ant testng

我创建了一套TestNG测试,我试图使用Selenium Grid.从Ant任务运行我尝试在Ant中设置类路径,包括TestNG jar和一些其他必需的jar(测试是Selenium测试)。这与Selenium Grid演示略有修改,以反映我环境中的位置。

<path id="runtime.classpath">
   <pathelement path="${java.class.path}/" />
    <fileset dir="C:\Tools\selenium-grid-1.0.8\vendor">
        <include name="selenium-java-client-driver-${selenium.version}.jar"/>
       <include name="testng-5.7-jdk15.jar"/>
        <include name="commons-logging-1.0.4.jar"/>
    </fileset>
    <fileset dir="${test.location}">
        <include name="**/*.java" />
    </fileset>
    <pathelement location="${grid.location}/lib/selenium-grid-tools-standalone-${grid.version}.jar" />
</path>

TestNG启动,但立即失败并显示错误:

     [java] ===============================================
     [java] Selenium Tests
     [java] Total tests run: 0, Failures: 0, Skips: 0
     [java] ===============================================
     [java]
     [java] [ERROR]:
     [java] Cannot find class in classpath: TestName

test.location当前指向测试的src文件夹。更改test.location以包含bin目录并将name属性更改为**/*.class并没有什么区别;错误是一样的。

我可以从Eclipse插件成功运行这个套件,所以我知道测试套件文件没问题。我正在努力让它在Ant中运行,以确保Selenium Grid实际上正确地将测试分发给Selenium Remote Controls。

2 个答案:

答案 0 :(得分:1)

不是将类路径设置为指向单个类文件,而是将其设置为指向父目录。

而不是

<fileset dir="${test.location}">
    <include name="**/*.java" />
</fileset>

<pathelement path="${test.location}" />

(尽管您可能需要将其更改为指向bin目录,而不是src目录)。

答案 1 :(得分:0)

我在多个实例上遇到了同样的错误。在探索eclipse的解决方案时,我偶然发现了Markers窗口(主菜单 - &gt; Windows - &gt; Show View - &gt; Markers),它说我的项目(proj1,我使用Testng启动)缺少必需的库,是这样的。

我使用外部java项目(ext_proj)将它作为外部jar文件附加到此项目的构建路径proj1中(通过将其指向位于ext_proj目录中的ext_proj.jar)。我不小心清理了(ext_proj),它消灭了ext_proj.jar。我无法在控制台中看到上述错误的确切原因,但仅在我上面指出的Markers窗口中。

一旦我在proj1中使这个ext_proj.jar可用,这个错误就消失了。

相关问题