【问题标题】:Usage: java cucumber.api.cli.Main [options] [ [FILE|DIR][:LINE[:LINE]*] ]+用法:java cucumber.api.cli.Main [options] [ [FILE|DIR][:LINE[:LINE]*] ]+
【发布时间】:2017-04-29 14:30:34
【问题描述】:

我在运行我的功能文件时遇到此错误

用法:java cucumber [options] [ [FILE|DIR][:LINE[:LINE]*] ]+

选项:

-g, --glue PATH                    Where glue code (step definitions and hooks) is loaded from.
-f, --format FORMAT[:PATH_OR_URL]  How to format results. Goes to STDOUT unless PATH_OR_URL is specified.
                                   Built-in FORMAT types: junit, html, pretty, progress, json.
                                   FORMAT can also be a fully qualified class name.
-t, --tags TAG_EXPRESSION          Only run scenarios tagged with tags matching TAG_EXPRESSION.
-n, --name REGEXP                  Only run scenarios whose names match REGEXP.
-d, --[no-]-dry-run                Skip execution of glue code.
-m, --[no-]-monochrome             Don't colour terminal output.
-s, --[no-]-strict                 Treat undefined and pending steps as errors.
    --snippets                     Snippet name: underscore, camelcase
    --dotcucumber PATH_OR_URL      Where to write out runtime information. PATH_OR_URL can be a file system
                                   path or a URL.
-v, --version                      Print version.
-h, --help                         You're looking at it.

Exception in thread "main" cucumber.runtime.CucumberException: Unknown option: --plugin
    at cucumber.runtime.RuntimeOptions.parse(RuntimeOptions.java:119)
    at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:50)
    at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:44)
    at cucumber.api.cli.Main.run(Main.java:20)
    at cucumber.api.cli.Main.main(Main.java:16)

我的跑步者课

package cucumber;

import org.junit.runner.RunWith;

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

    @RunWith( value = Cucumber.class)
    @CucumberOptions(dryRun = false, strict = true, 
            features="/STAF/src/main/java/CucumberFeature/GmailLoginLogout.feature/",
                                         tags ={"~@/ReCall/src/SeleniumWithCucumber/FbTest.java"})


    public class CucumberRunner {



}

我的功能文件

功能:Gmail 登录注销

场景:登录和退出 Gmail 给定打开 gmail 使用有效凭据登录时 然后主页应该来了

我的步骤定义

package StepDfination;

import org.openqa.selenium.WebDriver;

import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;

public class GmailLoginLogout {

    WebDriver driver;
    @Given("^Open gmail$")
    public void Open_gmail(){
        System.out.println("gmailopened ");
    }

    @When("^Login with valide credential$")
    public void Login_with_valide_credential(){
        System.out.println("cridential entered");
    }

    @Then("^Home page should come$")
    public void Home_page_should_come(){
        System.out.println("in home page");
    }

}

【问题讨论】:

  • 您使用的 cli 命令是什么?如果您使用 cli 命令,则不需要运行器类,您可以在命令本身中提供所有选项。您是否尝试过将 runner 类作为 junit 测试类运行?

标签: selenium cucumber cucumber-jvm cucumberjs


【解决方案1】:

使用 CLI 命令将其作为 Java 程序调用将是

public static void main(String args[]) {  
   Main.main(new String[]{"-g", "StepDfination", "-t", "<your tag what you need to test", "/STAF/src/main/java/CucumberFeature/GmailLoginLogout.feature"}); 
} 

正如蚱蜢建议的那样,如果您需要将其作为 TestNG 调用,则需要一个 runner 类。

请注意,您的功能文件位置应该是最后一个。如果有帮助,请告诉我!

【讨论】:

    【解决方案2】:

    您似乎正在尝试开始。您的步骤只会报告它们已执行。但是,您的方法似乎非常复杂,并且您遇到了一个您不理解的错误。 Gall's law 有问题。

    我建议你从另一个角度开始。从可行的东西开始,然后将其转化为您想要的东西。

    克隆Cucumber Team 提供的入门项目,然后逐步将其转换为您真正想要的示例。

    【讨论】:

      【解决方案3】:

      尝试使用 “-p” 代替“--plugin”。
      我是通过我的类似错误发现的。希望这个日志会有所帮助。

      Usage: java cucumber.api.cli.Main [options] [[[FILE|DIR][:LINE[:LINE]*] ]+ | @FILE ]
      
      Options:
      
        -g, --glue PATH                        Where glue code (step definitions, hooks
                                               and plugins) are loaded from.
        -p, --[add-]plugin PLUGIN[:PATH_OR_URL]
                                               Register a plugin.
                                               Built-in formatter PLUGIN types: junit,
                                               html, pretty, progress, json, usage, rerun,
                                               testng. Built-in summary PLUGIN types:
                                               default_summary, null_summary. PLUGIN can
                                               also be a fully qualified class name, allowing
                                               registration of 3rd party plugins.
                                               --add-plugin does not clobber plugins of that 
                                               type defined from a different source.
        -f, --format FORMAT[:PATH_OR_URL]      Deprecated. Use --plugin instead.
        -t, --tags TAG_EXPRESSION              Only run scenarios tagged with tags matching
                                               TAG_EXPRESSION.
        -n, --name REGEXP                      Only run scenarios whose names match REGEXP.
        -d, --[no-]-dry-run                    Skip execution of glue code.
        -m, --[no-]-monochrome                 Don't colour terminal output.
        -s, --[no-]-strict                     Treat undefined and pending steps as errors.
            --snippets [underscore|camelcase]  Naming convention for generated snippets.
                                               Defaults to underscore.
        -v, --version                          Print version.
        -h, --help                             You're looking at it.
        --i18n LANG                            List keywords for in a particular language
                                               Run with "--i18n help" to see all languages
        --junit,OPTION[,OPTION]*               Pass the OPTION(s) to the JUnit module.
                                               Use --junit,-h or --junit,--help to print the
                                               options of the JUnit module.
      
      Feature path examples:
        <path>                                 Load the files with the extension ".feature"
                                               for the directory <path>
                                               and its sub directories.
        <path>/<name>.feature                  Load the feature file <path>/<name>.feature
                                               from the file system.
        classpath:<path>/<name>.feature        Load the feature file <path>/<name>.feature
                                               from the classpath.
        <path>/<name>.feature:3:9              Load the scenarios on line 3 and line 9 in
                                               the file <path>/<name>.feature.
        @<path>/<file>                         Parse <path>/<file> for feature paths generated
                                               by the rerun formatter.
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-06-27
        • 1970-01-01
        • 1970-01-01
        • 2017-06-05
        • 1970-01-01
        • 2017-01-13
        • 1970-01-01
        • 2016-07-11
        相关资源
        最近更新 更多