如何使用@tags 运行 来自黄瓜框架中test运行ner class 文件的多个标签?

How to run multiple tags from testrunner class file in cucumber framework using @tags?

@RunWith(Cucumber.class)
@CucumberOptions( plugin = {"pretty","html:target/html/automation"},
                features = {"resource/***.feature"},
                glue={},
                tags={"@login","@Products"}
        )

这是我的功能文件

@登录

功能:登录到应用程序

场景:这是验证应用程序是否已成功登录 鉴于导航到松下应用程序 然后验证应用程序的标题 然后注销应用程序

@产品

功能:登录到应用程序

背景:用户应该导航到应用程序的主页

给定用户使用有效凭据登录主页

当点击主页上的目录link时

场景:验证是否可以在产品页面中创建十个以上的产品

并检查目录的子菜单是否显示在 header

并查看我的产品目录table

这是一个示例黄瓜 Junit 运行ner 模板:

@RunWith(Cucumber.class)
@CucumberOptions(features = { "classpath:features/*.feature" }, glue = "packagename(s) or class name(s) containing the step definitions", plugin = {
        "pretty:target/prettyReport.txt", "html:target/cucumber", "json:target/cucumber.json", "rerun:target/rerun.txt",
        "junit:target/junit-report.xml", "testng:target/testng-output.xml" }, monochrome = true, tags = {"~@Ignore"})
public class FeatureRunnerTest {

}

希望对您有所帮助!!
编辑:“~”符号..用于否定..即 运行 除了标有忽略标签的功能之外的所有功能..另一方面,您可以在标签属性逗号分隔的标签列表中指定标签 运行 只有那些测试

请参阅以下来自 cucumber runner 的多标签实现:

@CucumberOptions( features = "src/test/java/features", glue="stepDefinations", tags = "@Test_Working_Calendar,@Test_email_tempalte", plugin = {"pretty","html:target/cucumber" ,"json:target/cucumber.json" ,"junit:target/cukes.xml" ,"com.cucumber.listener.ExtentCucumberFormatter:target/cucumber-reports/report.html"})

对于多个标签,Cucumber 使用逻辑 AND 和逻辑 OR。 例如,以下对我来说很好用。

@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"pretty", "html:target/cucumber-report.html"},
        features= "Features",
        glue= {"com.cucumber.stepdefinition"},
        tags= "@RegressionTest or @SmokeTest"
        )
public class TestRunner {
}

@CucumberOptions(
     /* tags = {"@SmokeTest","@Register"},*/
     features = "src/test/Features",
     glue = "",
     plugin = { "pretty","json:target/stepdefinition.json"})

我评论了标签行和测试用例 运行 为了我。试试这个,让我知道。