Junit Runner 没有 运行 Cucumber 功能

Junit Runner doesn't run Cucumber feature

当我调试它时,只有@BeforeClass 配置起作用 - 它打开浏览器并转到 google.com,同样在控制台中我可以看到我的功能的场景,所以 Runner 可以看到它。他们都说"Test ignored"。如果我调试功能(不是通过 Runner),它们就可以工作。我如何从我的 Runner 中 run/debug 他们(一次一个)?请帮我找出错误

我的跑步者:

   package Runners;

   import com.codeborne.selenide.Configuration;
   import com.codeborne.selenide.WebDriverRunner;
   import cucumber.api.CucumberOptions;
   import cucumber.api.junit.Cucumber;
   import org.junit.BeforeClass;
   import org.junit.runner.RunWith;
   import org.openqa.selenium.WebDriver;

   import static com.codeborne.selenide.Selenide.open;
   import static com.codeborne.selenide.Selenide.sleep;


   @RunWith(Cucumber.class)
   @CucumberOptions(
    features = {"src/test/java/Features"},
    tags = {"@smokeTest#1"},
    glue = "src/test/java/Steps"

   )

   public class Runner {

       @BeforeClass
       static public void Initialization() {
           Configuration.timeout = 1500;
           Configuration.startMaximized = true;
           System.setProperty("webdriver.chrome.driver",                      
    "src\test\repository\webDriver\chromedriver.exe");
           Configuration.browser = "chrome";
           Configuration.savePageSource = false;
           Configuration.holdBrowserOpen = false;

           open("https://www.google.ru");


           Configuration.savePageSource = false;

       }


   }

虽然愚蠢但快速的解决方法是创建一个新标签,如@WIP,并将其用于您唯一的场景。 要解决您的问题,请通过 运行 >> 运行 配置来验证您的 运行 配置 IDE

根据@grasshopper 在评论中的建议,胶水选项应该是包格式。

例如: 如果您的步骤定义直接在 src/test/java/steps 下,您应该使用:

@CucumberOptions(features = {"src/test/java/features"}, glue = {"steps"})

另一方面,如果你的步骤定义在多个包下(例如:src/test/java/your.package.steps),你应该有这样的东西:

@CucumberOptions(features = {"src/test/java/features"}, glue = {"your.package.steps"})