我写了我的第一个黄瓜特征文件。当我将特征文件作为Cucumber Feature运行时,我得到以下错误
2.它说我没有任何场景和步骤功能:验证模块化GUI页面
场景:验证登录页面#C:/Selenium/RegressionTest/ModularRegression/src/GUI/features/Validate.feature:3给定:模块化GUI打开时间:验证登录页面然后:登录模块
0场景0步骤
我已将以下罐子添加到库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
如果有人可以指出我的代码中缺少什么,我将非常感激。
非常感谢你
[已编辑]这是实际错误:
警告:不推荐使用Cucumber-JVM的--format选项。请改用--plugin。功能:验证模块化GUI页面
场景:验证登录页面#C:/Selenium/RegressionTest/ModularRegression/src/GUI/features/Validate.feature:3给定:模块化GUI打开时间:验证登录页面然后:登录模块
0场景0步骤0m0.000s
在给定,何时和然后,我的功能文件中有一个额外的“:”。
它现在正在运作。
您在类路径中缺少要素文件。
你没告诉我们你是如何运行黄瓜的。但是,如果您将其作为Maven构建的一部分运行,这是更容易的选项之一,您希望将您的功能文件存储在
./src/test/resources/GUI
一个简单的入门方法是从GitHub下载入门项目,https://github.com/cucumber/cucumber-java-skeleton
它将为您提供一个可以修改以包含您的问题的工作项目。
您的步骤定义在哪里?尝试添加标签'glue',如下所示
@RunWith(Cucumber.class)
@CucumberOptions(
format = {"pretty", "json:target/"},
features = {"src/GUI/"},
glue = {"path/to/steps"}
)
public class GUIRunner {
}
只是添加到现有答案:记住在编写步骤的实际代码之前写“场景:”。这似乎绝对是微不足道的,但没有它你将永远得到“0功能,0步”的消息。
请添加tags = {"@SmokeTest"}
或tags = {"@RegresionTest"}
请在tags= {"@SmokeTest","@RegressionTest"}
添加@CucumberOptions()
将格式替换为插件格式选项已于2014年10月30日从v1.2.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)