2012-12-31 108 views
0

我正在使用Apache ANT來運行我的webdriver腳本。 我的項目結構如下:無法找到org.openqa.selenium類使用ant來運行webdriver腳本

ant_webdriver_project 
- src 
    - test.ant.webdriver 
    - TestLogin.java 
- JRE System Libraries 
- Referenced Libraries 
    - all jars including selenium-java-2.25.0.jar, selenium-java-2.25.0-srcs.jar 
- build 
- lib 
    - all jars including selenium-java-2.25.0.jar, selenium-java-2.25.0-srcs.jar 
- resources 
    - myproperties.properties 
- build.xml 

和我的build.xml文件是:

<project basedir="."> 

<property name="lib.dir" value="lib"/> 

<path id="classpath"> 
    <fileset dir="${lib.dir}" includes="**/*.jar"/> 
</path> 

<target name="clean"> 
    <delete dir="build"/> 
</target> 

<target name="compile"> 
    <mkdir dir="build"/> 
    <javac srcdir="src" destdir="build"/> 
</target> 

<target name="jar"> 
    <mkdir dir="build/jar"/> 
    <jar destfile="build/jar/testlogin.jar" basedir="build"> 
     <manifest> 
      <attribute name="Main-Class" value="test.ant.webdriver.TestLogin"/> 
     </manifest> 
    </jar> 
</target> 

<target name="run" depends="jar"> 
    <java fork="true"> 
    <classpath> 
     <path refid="classpath"/> 
     <path location="build/jar/testlogin.jar"/> 
    </classpath> 
    </java> 

</target> 

現在,當我去螞蟻編譯我得到這個:

[javac] Compiling 1 source file to /home/abhijeet/Automation_Dev/automation_workspace/ant_webdriver_project/build [javac] /home/abhijeet/Automation_Dev/automation_workspace/ant_webdriver_project/src/test/ant/webdriver/TestLogin.java:11: package org.openqa.selenium does not exist [javac] import org.openqa.selenium.By; [javac] ^ [javac] /home/abhijeet/Automation_Dev/automation_workspace/ant_webdriver_project/src/test/ant/webdriver/TestLogin.java:12: package org.openqa.selenium does not exist [javac] import org.openqa.selenium.NoSuchElementException; [javac] ^ [javac] /home/abhijeet/Automation_Dev/automation_workspace/ant_webdriver_project/src/test/ant/webdriver/TestLogin.java:13: package org.openqa.selenium does not exist [javac] import org.openqa.selenium.WebDriver; . . .

BUILD FAILED /home/abhijeet/Automation_Dev/automation_workspace/ant_webdriver/build.xml:18: Compile failed; see the compiler error output for details.

這些錯誤與我擁有的所有webdriver對象有關用在我的課堂上。我認爲構建我的build.xml的方式肯定存在問題,但我查看了很多來源,但找不到任何解決方案。我對ANT完全陌生。任何幫助?

回答

1

很長一段時間,因爲我使用螞蟻,但在你的compile目標,你沒有一個classpathref

<target name="compile"> 
    <mkdir dir="build"/> 
    <javac srcdir="src" destdir="build" classpathref="classpath" /> 
</target> 
+0

您好,所以我有修改的build.xml如你所說。現在,我沒有收到我在帖子中提到的錯誤。 我現在得到了: run: [java]線程「main」中的異常java.lang.NoClassDefFoundError:test/ant/webdriver/TestLogin [java]引起來自:java.lang.ClassNotFoundException:test.ant。 webdriver.TestLogin ............ [java] \t at java.lang.ClassLoader.loadClass(ClassLoader.java:266) [java]找不到主類:test.ant .webdriver.TestLogin。程序將會退出。 [java] Java結果:1 有什麼好的做法來管理類路徑? –

+1

你的jar目標應該依賴於編譯,編譯應該依賴於clean。 – asgoth

+0

謝謝你這麼多!有效! –