Usage: java cucumber.api.cli.Main [options] [ [FILE|DIR][:LINE[:LINE]*] ]+

本小妞迷上赌 提交于 2019-12-12 04:34:29

问题


I am getting this error while running my feature file

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

Options:

-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)

my runner class

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 {



}

my feature file

Feature: Gmail login Logout

Scenario: Login and Log out to Gmail Given Open gmail When Login with valide credential Then Home page should come

my step defination

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");
    }

}


回答1:


Use of CLI command to invoke it as a Java program would be

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"}); }

As grasshopper suggested, if you need invoke it as TestNG, you need a runner class.

Note that your feature file location should be the last. Let me know if it helps!




回答2:


It looks like you are trying to get started. Your steps will only report that they are executed. However, your approach seems very complicated and you are getting an error you don't understand. You have a problem with Gall's law.

I would suggest that you start from another angle. Start from something that works and then transform it into something that you want.

Clone the getting started project supplied by the Cucumber Team and then transform it in small steps to the example you really would like to have.




回答3:


Try using "-p" instead of "--plugin".
I found out it by a similar error of mine. Hope this log would help.

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.


来源:https://stackoverflow.com/questions/43696842/usage-java-cucumber-api-cli-main-options-filedirlineline

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!