使用以下代码行,可以执行login.feature中提到的所有方案。
@CucumberOptions(features= "src/main/resources/publish/login.feature", format = {"pretty"} )
如果我必须执行多个功能文件,我该如何定义?假设我定义如下,将执行发布文件夹中提到的功能。
@CucumberOptions(features= "src/main/resources/publish", format = {"pretty"} )
如果我必须在其中运行多个功能和方案,我该如何定义?我是否必须创建多个 cucumberRunner 类,或者我可以在一个类文件中定义。
答案 0 :(得分:1)
您可以使用标签在功能中使用选择性功能文件或选择性方案。请尝试使用此解决方案。
让我们考虑您有多个功能文件,并且您只需要运行选择性功能。然后使用@tag name命名每个要素文件。
例如:在此文件夹下,如果您有多个功能 - " src / main / resources / publish"
第一个功能文件名:
Login.feature
//文件内部以功能标签名称
开头@Login
Feature: To Login to Email
//Then feature name followed with scenario tag name
@User
//Scenario1:
Scenario Outline: Navigate and logon to gmail application
Given User launches gmail application
When User updates emailID <emailID>
And User updates pwd <pwd>
Then User clicks on Login Button
Examples:
| emailID | pwd |
| a@gmail.com| 123 |
第二个功能文件名:
CreateEmail.feature
@Createmail
Feature: Create email
Scenario: Blah blah blah...
//Write all Given when And Then
第3个特征文件名:
SendEmail.feature
@Sendemail
Feature: Send email
Scenario: Blah blah blah...
//Write all Given when And Then
所以从上面的测试文件中。让我们考虑你想单独测试第一和第三个功能,然后你可以使用如下代码:
例如:#这是运行特定的功能文件,即1和3.同样,如果在同一个功能文件中有n个场景,也可以使用标签。
@CucumberOptions(features= "src/main/resources/publish", tags="@Login, @Sendemail", format = {"pretty"} )
答案 1 :(得分:1)
修改我的代码,比如运行所有已启用的功能,方案。功能是这里需要注意的,以便跑步者类考虑功能
@RunWith(Cucumber.class)
@CucumberOptions(
features = {"classpath:features"},
plugin = {"html:target/site/cucumber-pretty","json:target/cucumber.json"},
tags = {"@currentTest"},
glue={"helpers","stepDefinitions"},
// dryRun = true,
monochrome = true
)
public class RunCukesTest{
}
答案 2 :(得分:0)
您可以通过在黄瓜选项中定义标签值来实现(考虑到您已经将这些方案分组在要素文件中)
例如: 特征= “SRC /测试/资源/ FeatureFiles”,标签= “@ feature1scenariogroup1,@ feature2cenariogroup2”
在功能文件内定义标签:
Feature: My Feature File
@smoke
Scenario: Login
Given I open "FireFox" browser
When I navigate to Sectionone "Home" page
And i do something
Then I Validate Something
@regression
Scenario: Compose Email
Given I open "FireFox" browser
When I Do An Action
@OnlyOneTime
Scenario:Send Email
....
答案 3 :(得分:0)
@RunWith(Cucumber.class)
@CucumberOptions(
features = {"src/test/java/Features"},
tags= {"@FirstTimeLaunch, @SignUpPage"},
glue= {"testCode"},
plugin = { "pretty", "html:target/htmlreports" }
)
当您作为Junit测试执行时(转轮类),此处功能文件夹(包)中的所有* .feature文件将按照文件名的字母顺序执行
答案 4 :(得分:0)
您只需编写标签= {“ @ fileName1,@ fileName2”}
我们可以使用@ File1,@ File2等添加多个文件。