1

我正在使用 cucumber-jvm 和 junit 框架运行 selenium 。我根据我的要求修改了这个例子。我需要通过ant文件运行测试,所以我创建了相应的ant文件,我的功能文件正在运行更正,它还建议在cmd上实现@Given,@When,@Then等正则表达式,但我也在创建这个步骤java 文件并在我的测试文件中@cucumber.option 的胶水参数中提供该文件包的路径。但它没有正确挑选。

这是我的一些蚂蚁文件代码

  <target name="run" depends="compile">
    <mkdir dir="out/cucumber-junit-report"/>
    <java classname="cucumber.api.cli.Main" fork="true" failonerror="false">
        <classpath refid="compile.classpath"/>
        <arg value="--format"/>
        <arg value="junit:out/cucumber-junit-report.xml"/>
        <arg value="--format"/>
        <arg value="pretty"/>
        <arg value="--format"/>
        <arg value="html:out/cucumber-html-report"/>
        <arg value="src/test/resources"/>
    </java>

    <junitreport todir="out/cucumber-junit-report">
        <fileset dir="out">
            <include name="cucumber-junit-report.xml"/>
        </fileset>
        <report format="frames" todir="out/cucumber-junit-report"/>

    </junitreport>
</target>

这是我的测试类代码

 package com.cucumber;

 import com.cucumber.stepdefs.AddRecordStep;
 import cucumber.api.junit.Cucumber;
 import org.junit.runner.RunWith;

@RunWith(Cucumber.class)
@Cucumber.Options(
    glue = {"com.cucumber.pageobjects"}
   )
 public class AddRecordTest {

  }

我检查了许多链接,每个链接都说使用胶水并定义路径,但我无法通过使用它来获得解决方案。下面是我的包结构的图片

在此处输入图像描述

我被困在这里。任何帮助都会得到帮助。

4

1 回答 1

2

看起来您的胶水参数不正确。看来您正在粘合页面对象而不是 stepdef。如果您的步骤定义在AddRecordStep课堂上,那么您的胶水参数应该是glue = {"com.cucumber.stepdefs"}

另请注意,如果您的 stepdef 与 RunCukes 位于相同或在子包中,则 cucumber 会自动为您找到它们,并且在这种情况下,glue 参数变为可选。

于 2014-05-11T02:41:08.620 回答