如何使用@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"})
我评论了标签行和测试用例 运行 为了我。试试这个,让我知道。
@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"})
我评论了标签行和测试用例 运行 为了我。试试这个,让我知道。