自从2天以来,我一直在与此作斗争。我的测试显示已通过,但测试未在黄瓜+ java中运行,用于Selenium webdriver测试。在控制台中,我收到以下消息
1 Scenarios (1 undefined)
4 Steps (4 undefined)
0m0.000s
You can implement missing steps with the snippets below:
@Given("^User navigate to shopping page$")
public void user_navigate_to_shopping_page() throws Throwable {
// Write code here that turns the phrase above into concrete actions
throw new PendingException();
}
@When("^user enters data$")
public void user_enters_data() throws Throwable {
// Write code here that turns the phrase above into concrete actions
throw new PendingException();
}
@When("^clicks on search button$")
public void clicks_on_search_button() throws Throwable {
// Write code here that turns the phrase above into concrete actions
throw new PendingException();
}
@Then("^product should be displayed$")
public void product_should_be_displayed() throws Throwable {
// Write code here that turns the phrase above into concrete actions
throw new PendingException();
}
我写了以下跑步者课程
package stepDefinition;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(
monochrome=true,
features = "src/main/resources/feature",
glue="src/test/java/stepDefinition",
tags={"@tag2"},
dryRun = false)
public class TestRunner {
}
我还会附上项目目录结构的截图
,功能文件是
[![Feature: Checking Functionality
This is a demo test
@tag2
Scenario: Test Login
Given User navigate to shopping page
When user enters data
And clicks on search button
Then product should be displayed
答案 0 :(得分:1)
你给出胶水价值的方式是不正确的。你必须以java包格式给出。请改为glue = "stepDefinition"
。
如果您的当前 stepDefinition 包中有一个包,请说明步骤,其中包含代码。然后胶水变为"stepDefinition.steps"
您应该将功能移至test \ resources文件夹。
答案 1 :(得分:1)
你正试图解决一个难题。也就是说,你正试图修复一些从未奏效的东西。
我的方法是从一些有效的方法开始,然后转换该工作解决方案,直到它支持您的用例。如果我不确定该怎么做,我会以非常小的步骤做到这一点。
工作的起点是Cucumber团队提供的Java骨架。可以在此处找到克隆/下载:https://github.com/cucumber/cucumber-java-skeleton
答案 2 :(得分:0)
我遇到了同样的问题,我尝试了注释中提供的修复以及上述修复,还有一个方面需要研究,这就是step definiton类。 在查看我的步骤定义时,我发现^符号后面有多余的空格。我删除了空格,测试成功。
下面是我遇到问题时的代码。我删除了大写(^)符号后的空格
@Given("^ I open (.*)$")
答案 3 :(得分:0)
您可能要检查创建的包。确保为每个类,测试运行器类,步骤定义类和您的功能创建一个不同的包。
在尝试与我的软件包建立通用关系时遇到了类似的问题(例如,comCucumber.feature,comCucumber.step和comCucumber.runner)。
相信这会有所帮助。
非常感谢
答案 4 :(得分:-2)
您好,将stepdefinition类和测试运行器类放在一个包中