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"})
当我调试它时,只有@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"})