我写了我的第一个黄瓜特征文件。当我将特征文件作为Cucumber Feature运行时,我得到以下错误
2.它说我没有任何场景和步骤 功能:验证模块化GUI页面
场景:验证登录页面#C:/Selenium/RegressionTest/ModularRegression/src/GUI/features/Validate.feature:3 鉴于:模块化GUI已打开 时间:验证登录页面 然后:登录模块
0场景 0步
我已将以下jar添加到库中 Jars
这是我的跑步者班, 包GUI;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(
format = {"pretty", "json:target/"},
features = {"src/GUI/"}
)
public class GUIRunner {
}
这是我的专题文件
Feature: Validate Modular GUI pages
Scenario: Validate Login Page
Given: Modular GUI is opened
When: Validate the login page
Then: Login to the Modular
如果有人能指出我的代码中缺少什么,我真的很感激。
非常感谢
[EDITED] 这是实际错误:
警告:不推荐使用Cucumber-JVM的--format选项。请用 - 改为--plugin。功能:验证模块化GUI页面
场景:验证登录页面# C:/Selenium/RegressionTest/ModularRegression/src/GUI/features/Validate.feature:3 鉴于:模块化GUI已打开 时间:验证登录页面 然后:登录模块
0场景0步骤0m0.000s
答案 0 :(得分:3)
我有一个额外的":"在Given,When和Then之后的我的特征文件中。
它现在正在工作。
答案 1 :(得分:1)
您在课程路径中缺少要素文件。
您没有告诉我们您如何运行Cucumber。但是,如果您将其作为Maven构建的一部分运行,这是更容易的选项之一,您希望将您的功能文件存储在
中./的src /测试/资源/ GUI
一个简单的入门方法是从GitHub下载入门项目,https://github.com/cucumber/cucumber-java-skeleton
它将为您提供一个可以修改的工作项目以包含您的问题。
答案 2 :(得分:0)
您的步骤定义位于何处?尝试添加标签'glue',如下所示
@RunWith(Cucumber.class)
@CucumberOptions(
format = {"pretty", "json:target/"},
features = {"src/GUI/"},
glue = {"path/to/steps"}
)
public class GUIRunner {
}
答案 3 :(得分:0)
只需添加到现有答案中即可:在编写该步骤的实际代码之前,请记住先编写“方案:”。这似乎绝对是微不足道的,但是如果没有它,您将始终收到“ 0个功能,0个步骤”的消息。
答案 4 :(得分:0)
请在tags= {"@SmokeTest","@RegressionTest"}
中添加@CucumberOptions()
答案 5 :(得分:0)
使用插件作为格式选项替换格式。
下面的示例-@RunWith(Cucumber.class)
@CucumberOptions(features = "classpath:features/functional/",
glue = {"com.jacksparrow.automation.steps_definitions.functional" },
plugin = { "pretty","json:target/cucumber-json/cucumber.json",
"junit:target/cucumber-reports/Cucumber.xml", "html:target/cucumber-reports"},
tags = { "@BAMS_Submitted_State_Guest_User" },
strict = false,
dryRun = false,
monochrome = true)