2012-06-06 4 views
0

저는 요즘 개미와 경쟁하면서 웹 드라이버 테스트를하려고 애 쓰고 있습니다. 지금까지 내가 (노골적으로 어딘가에서 복사) 다음의 build.xml에 도착Ant 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은 해당 라이브러리의 클래스입니다.

놀라운 NoClassDefFoundError를 얻었을 때 일반적으로 을 사용하여 클래스가 포함 된 jar를 찾습니다.

+0

감사합니다. 그 (그리고 더 많은 누락 된 단지) 문제를 해결했습니다. – tom

관련 문제