簡體   English   中英

我嘗試在ant中創建一個構建,如果它創建了一個HTML報告,它將開始我的.class文件

[英]I try to create a build in ant were it create a html report which will start my .class file

您好,我嘗試在ant中創建一個構建,如果它創建了一個html報告,它將從eclips啟動我的.class文件

<property name="src"    value="D:/Automation/eclipse/MyWork/OpenCart/src" />
<property name="lib"    value="D:/Automation/eclipse/MyWork/OpenCart/lib/" />
<property name="bin"    value="D:/Automation/eclipse/MyWork/build" />
<property name="report" value="d:/Automation/report" />
<path id="test.classpath">


    <pathelement location="${bin}"/>
    <fileset dir="${lib}">
        <include name="${lib}/junit.jar" />
    </fileset>
</path>

<target name="init">
    <delete dir="${bin}" />
    <mkdir dir="${bin}" />
</target>
<target name="compile" depends="init">
    <javac source="1.7" srcdir="${src}" fork="true" destdir="${bin}" includeantruntime="false" >
        <classpath>
            <pathelement path="${bin}">
            </pathelement>
            <fileset dir="${lib}">
                <include name="${src}/TestCases/OpenCart.class" />
            </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="${src}/TestCases/OpenCart.class" />
            </fileset>
        </classpath>

        <test name="com.selftechy.seltests.SeleniumTest" 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>

我收到錯誤消息:“

生成文件:D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ Build.xml init:
[刪除]刪除目錄D:\\ Automation \\ eclipse \\ MyWork \\ build [mkdir]創建的目錄:D:\\ Automation \\ eclipse \\ MyWork \\ build編譯:[javac]將1個源文件編譯為D:\\ Automation \\ eclipse \\ MyWork \\構建[javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:3:錯誤:包com.thoughtworks.selenium不存在[javac]導入com.thoughtworks.selenium。 ; [javac] ^ [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:5:錯誤:包org.junit不存在[javac] import org.junit.After; [javac] ^ [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:6:錯誤:包org.junit不存在[javac] import org.junit.Before; [javac] ^ [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:7:錯誤:包org.junit不存在[javac] import org.junit.Rule; [javac] ^ [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:8:錯誤:包org.junit不存在[javac] import org.junit.Test; [javac] ^ [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:9:錯誤:包org.junit.rules不存在[javac] import org.junit.rules.ErrorCollector; [javac] ^ [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:11:錯誤:包org.junit不存在[javac]導入靜態org.junit.Assert。 ; [javac] ^ [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:14:錯誤:找不到符號[javac]私有硒硒; [javac] ^ [javac]符號:類Selenium [javac]位置:類OpenCart [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:17:錯誤:找不到符號[javac] public ErrorCollector errorCollector =新的ErrorCollector(); [javac] ^ [javac]符號:類ErrorCollector [javac]位置:類OpenCart [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:16:錯誤:找不到符號[javac] @Rule [javac] ^ [javac]符號:類規則[javac]位置:類OpenCart [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:19:錯誤:找不到符號[javac] @Before [javac] ^ [javac]符號:類[javac]位置之前:類OpenCart [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:25:錯誤:找不到符號[javac] @Test [javac] ^ [javac]符號:類測試[javac]位置:類OpenCart [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:128:錯誤:找不到符號[javac] @After [javac] ^ [javac]符號:類[javac]位置之后:類OpenCart [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:17:錯誤:找不到符號[javac]公共ErrorCollector errorCollector =新的ErrorCollector(); [javac] ^ [javac]符號:類ErrorCollector [javac]位置:類OpenCart [javac] D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ src \\ OpenCart.java:21:錯誤:找不到符號[javac]硒=新的DefaultSelenium(“ localhost”,4444,“ * chrome”,“ http:// IP /”); [javac] ^ [javac]符號:類DefaultSelenium [javac]位置:類OpenCart [javac] 15錯誤

建立失敗D:\\ Automation \\ eclipse \\ MyWork \\ OpenCart \\ Build.xml:23:編譯失敗; 有關詳細信息,請參見編譯器錯誤輸出。

總時間:1秒

$ {lib}包含了我用來創建此類的所有庫,並且只運行100%的類工作,但是當我嘗試在eclips中將其作為ant構建運行時,它給了我這個錯誤

我已將%JAVA_HOME%設置為jdk,並在cmd中運行javac,它發現junit.jar位於$ {lib}和%ANT_HOME%/ lib和%JAVA_HOME%/ lib中

請幫忙 !!!

嘗試以下build.xml。 請記住,您需要在此文件中手動進行以下更改

  1. 第一行的項目名稱
  2. lib.dir地址應該是將所有jar物理保存的地址。 我建議創建一個目錄,將所有罐子放入其中,然后在此處提供地址。
  3. 我已更改的報告目錄,現在它位於項目目錄下,與src平行。 如果需要,可以更改它。

請注意,我已將具有許多其他功能的build.xml更改為您喜歡的功能。 我已經非常仔細地對其進行了更新,盡管我想您可以做的很少會因錯誤而留下一些更改。 仍然,如果您發現任何問題,我將竭盡所能為您提供幫助。

    <project name="ProjectName" basedir=".">
    <property name="home.dir" value="${basedir}"/>
    <property name="build.dir" value="${home.dir}/build"/>
    <property name="src.dir" value="${home.dir}/src"/>
    <property name="report.dir" value="${home.dir}/report" />
    <property name="lib.dir" value="H:/Selenium/jar_collection"/>
    <!-- setClassPath -->
    <target name="setClassPath">
        <path id="classpath_jars">
            <pathelement path="${basedir}/" />
            <fileset dir="${lib.dir}" includes="*.jar" />
        </path>
        <pathconvert pathsep=":" property="test.classpath" refid="classpath_jars" />
    </target>
    <!-- build -->
    <target name="build">
        <mkdir dir="${build.dir}"/>
        <tstamp>
            <format property="timestamp" pattern="dd-MM-yyyy_(HH-mm-ss)"/>
        </tstamp>
        <property name="build.log.dir" location="${basedir}/buildlogs"/>
        <mkdir dir="${build.log.dir}"/>
        <property name="build.log.filename" value="build_${timestamp}.log"/>
        <record name="${build.log.dir}/${build.log.filename}" loglevel="verbose" append="false"/>
        <echo message="build logged to ${build.log.filename}"/>
    </target>
    <!-- Clean -->
    <target name="clean">
        <echo message="deleting existing build directory"/>
        <delete dir="${build.dir}"/>
    </target>
    <!-- Compile -->
    <target name="compile" depends="clean,build,setClassPath">
        <echo message="classpath:${test.classpath}"/>
        <echo message="compiling.........."/>
        <javac destdir="${build.dir}" srcdir="${src.dir}" classpath="${test.classpath}"/>
    </target>
    <!-- Execute -->    
    <target name="exec" depends="compile">
        <delete dir="${report.dir}" />
        <mkdir dir="${report.dir}" />
            <mkdir dir="${report.dir}/xml" />
        <junit printsummary="yes" haltonfailure="no">
            <classpath>
                <pathelement location="${build.dir}" />
                <fileset dir="${lib.dir}">
                    <include name="${src.dir}/TestCases/OpenCart.class" />
                </fileset>
            </classpath>
            <test name="com.selftechy.seltests.SeleniumTest" haltonfailure="no" todir="${report.dir}/xml" outfile="TEST-result">
                <formatter type="xml" />
            </test>
        </junit>
        <junitreport todir="${report.dir}">
            <fileset dir="${report.dir}/xml">
                <include name="TEST*.xml" />
            </fileset>
            <report format="frames" todir="${report.dir}/html" />
        </junitreport>
    </target>
    </project>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM