2012-06-06 67 views
0

我现在正在努力与Ant,试图使它驱动我的WebDriver测试。到目前为止,我有以下的build.xml(从某处复制招摇)蚂蚁jUnit WebDriver - NoClassDefFoundError

<property name="src" value="./src" /> 
<property name="lib" value="d:/apache-ant-1.8.4/lib/" /> 
<property name="bin" value="./bin/" /> 
<property name="report" value="./report" /> 
<path id="test.classpath"> 
    <pathelement location="${bin}" /> 
    <fileset dir="${lib}"> 
     <include name="**/*.jar" /> 
    </fileset> 
</path> 

<target name="init"> 
    <delete dir="${bin}" /> 
    <mkdir dir="${bin}" /> 
</target> 

<target name="compile" depends="init"> 
    <javac source="1.6" srcdir="${src}" fork="true" destdir="${bin}" > 
     <classpath> 
      <pathelement path="${bin}"> 
      </pathelement> 
      <fileset dir="${lib}"> 
       <include name="**/*.jar" /> 
      </fileset> 
     </classpath> 
    </javac> 
</target> 

<target name="exec" depends="compile"> 
    <delete dir="${report}" /> 
    <mkdir dir="${report}" /> 
     <mkdir dir="${report}/xml" /> 
    <junit printsummary="yes" haltonfailure="no"> 
     <classpath> 
      <pathelement location="${bin}" /> 
      <fileset dir="${lib}"> 
       <include name="**/*.jar" /> 
      </fileset> 
     </classpath> 

     <test name="com.yourcompany.selenium.ccloop.tb6NoInterested" haltonfailure="no" todir="${report}/xml" outfile="TEST-result"> 
      <formatter type="xml" /> 
     </test> 
    </junit> 
    <junitreport todir="${report}"> 
     <fileset dir="${report}/xml"> 
      <include name="TEST*.xml" /> 
     </fileset> 
     <report format="frames" todir="${report}/html" /> 
    </junitreport> 
</target> 

现在,当我运行蚂蚁的一切都将建立罚款,但测试不运行,我得到了NoClassDefFoundError。

org/apache/http/HttpHost

java.lang.NoClassDefFoundError: org/apache/http/HttpHost at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:144) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:86) at com.yourcompany.selenium.ccloop.tb6NoInterested.setUp(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.apache.http.HttpHost at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) N/A

java.lang.NullPointerException at com.yourcompany.selenium.ccloop.tb6NoInterested.tearDown(Unknown Source)

包名称com.yourcompany.selenium.ccloop 测试名tb6NoInterested

我有蚂蚁lib文件夹(在hamcrest,JUnit中,硒的)

什么时所有的罐子我做错了?

回答

1

httpcore from apache似乎不在类路径中。

org/apache/http/HttpHost是该库中的一个类。

我通常使用findjar找到哪些jar包含类,当我得到一个令人惊讶的NoClassDefFoundError。

+0

谢谢! (和一些更多的失踪罐子)解决了这个问题 – tom