Java 我试图创建一个内置的ant,如果它创建一个html报告,它将启动我的.class文件

Java 我试图创建一个内置的ant,如果它创建一个html报告,它将启动我的.class文件,java,eclipse,selenium,ant,Java,Eclipse,Selenium,Ant,您好,我尝试在ant中创建一个内置的html报告,该报告将从eclips启动我的.class文件 " " 我得到一个错误: " 构建文件:D:\Automation\eclipse\MyWork\OpenCart\Build.xml init: [删除]删除目录D:\Automation\eclipse\MyWork\build [mkdir]已创建目录:D:\Automation\eclipse\MyWork\build-compile: [javac]正在将1个源文件编译为D:\Aut

您好,我尝试在ant中创建一个内置的html报告,该报告将从eclips启动我的.class文件

"


"

我得到一个错误: "

构建文件:D:\Automation\eclipse\MyWork\OpenCart\Build.xml init:
[删除]删除目录D:\Automation\eclipse\MyWork\build [mkdir]已创建目录:D:\Automation\eclipse\MyWork\build-compile: [javac]正在将1个源文件编译为D:\Automation\eclipse\MyWork\build [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]导入org.junit.After; [javac]^ [javac]D:\Automation\eclipse\MyWork\OpenCart\src\OpenCart.java:6:错误:包org.junit不存在 [javac]导入org.junit.Before; [javac]^ [javac]D:\Automation\eclipse\MyWork\OpenCart\src\OpenCart.java:7:错误:包org.junit不存在 [javac]导入org.junit.Rule; [javac]^ [javac]D:\Automation\eclipse\MyWork\OpenCart\src\OpenCart.java:8:错误:包org.junit不存在 [javac]导入org.junit.Test; [javac]^ [javac]D:\Automation\eclipse\MyWork\OpenCart\src\OpenCart.java:9:错误:包org.junit.rules不存在 [javac]导入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=new ErrorCollector(); [javac]^ [javac]符号:类错误收集器 [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]symbol:之前的类 [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]symbol:class之后 [javac]位置:类OpenCart [javac]D:\Automation\eclipse\MyWork\OpenCart\src\OpenCart.java:17:错误: 找不到符号 [javac]public ErrorCollector ErrorCollector=new ErrorCollector(); [javac]^ [javac]符号:类错误收集器 [javac]位置:类OpenCart [javac]D:\Automation\eclipse\MyWork\OpenCart\src\OpenCart.java:21:错误: 找不到符号 [javac]selenium=newdefaultselenium(“localhost”,4444,“*chrome,”http://IP/"); [javac]^ [javac]符号:类DefaultSelenium [javac]位置:类OpenCart [javac]15个错误

生成失败D:\Automation\eclipse\MyWork\OpenCart\BUILD.xml:23: 编译失败;有关详细信息,请参阅编译器错误输出

总时间:1秒

${lib}包含我用来创建这个类的所有lib,并且只运行100%的类工作,但是当我尝试在eclips中以ant构建的形式运行这个构建时,它会给我这个错误

我已经将%JAVA_HOME%设置为jdk,并在cmd中运行javac,它找到了它 junit.jar位于${lib}和%ANT_HOME%/lib以及%JAVA_HOME%/lib中


请帮助!!!

尝试以下build.xml。请记住您需要在此文件中手动执行的以下更改

  • 第一行中的项目名称
  • lib.dir地址应该是所有jar的物理存放地址。我建议创建一个dir,将所有jar放在这里,并在这里给出地址
  • 我已经更改了报告目录,现在它位于项目目录下,与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>
    
    
    
        <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>