1

当我调试它时,只有 @BeforeClass 配置有效 - 它打开浏览器并转到 google.com,也在控制台中我可以看到我的功能的场景,所以 Runner 看到它。他们都说“测试被忽略”。如果我调试功能(不是通过 Runner),它们就可以工作。如何从我的 Runner 运行/调试它们(一次一个)?请帮我找出错误

我的跑步者:

   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;

       }


   }
4

2 回答 2

1

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

于 2017-10-01T07:54:57.737 回答
0

根据@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"})
于 2018-04-24T17:34:24.263 回答