- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的特征文件如下:-功能:使用多个角色登录 HRM
@SMOKE_P1 @REG_P3 场景:SC1_SMOKE_P1:系统管理员应登录 HRM 门户 登录到应用程序:用户“sysadmin”,密码:“sysadmin”
@SMOKE_P2 @REG_P2 场景:SC1_SMOKE_P1:系统管理员应登录 HRM 门户 登录到应用程序:用户“sysadmin”,密码:“sysadmin”
我执行干净的测试 -Dcucumber.options="--tags @SMOKE_P1,@SMOKE_P2"
在执行期间,我正在检索场景 ID 为:-ScenarioID = scenario.getName().substring(0, scenario.getName().length());//+ //"---:";;
if (ScenarioID.contains(":")) {
ScenarioID = ScenarioID.substring(0, ScenarioID.indexOf(":"));
// ScenarioID.indexOf("\"") + 1,
}
StepDefinitionLogger.info("===============================");
StepDefinitionLogger.info("My Scenario ID:" + ScenarioID);
StepDefinitionLogger.info("Scenario Tags are: "+scenario.getSourceTagNames().toString());
StepDefinitionLogger.info("===============================");
因为我的场景有 2 个标签,执行时只考虑其中的 1 个。我想检索当前正在执行的标签。
最佳答案
可能有点晚了,但如果有人仍然想知道,我是如何做到这一点的:
private String[] getTagsFromCmdParams() {
String proptag = System.getProperty("cucumber.options");
if(proptag != null && proptag.length() > 0) {
Pattern p = Pattern.compile("--tags (@[^ ]+(,@[^ ]+)*)");
Matcher m = p.matcher(proptag);
boolean b = m.matches();
if(b && m.groupCount() >= 2 ) {
String test = m.group(1);
if(test != null && test.length() > 0) {
String[] bits = test.split(",");
if(bits.length > 0) {
return bits;
}
}
}
}
return new String[]{};
}
@CucumberOptions
注释类)private String[] getTagsFromAnnotations(Class<?> clazz) {
CucumberOptions co = clazz.getAnnotation(CucumberOptions.class);
String[] tags = co.tags();
if(tags.length == 1 && tags[0].contains(",")) {
return tags[0].split(",");
}
return new String[]{};
}
public String[] getTags(Class<?> clazz) {
String[] tags = this.getTagsFromCmdParams();
if(tags.length > 0) {
return tags;
}
return getTagsFromAnnotations(clazz);
}
public static String[] getStringIntersection(String[] array1, String[] array2) {
Set<String> s1 = new HashSet<>(Arrays.asList(array1));
Set<String> s2 = new HashSet<>(Arrays.asList(array2));
s1.retainAll(s2);
return s1.toArray(new String[0]);
}
@Before
public void before(final Scenario scenario) {
String[] scenarioTags = scenario.getSourceTagNames().toArray(new String[]{});
String[] optionsTags = getTags(TestRunner.class); // TestRunner has the "@CucumberOptions" annotation
String[] runningTag = getStringIntersection(scenarioTags, optionsTags);
System.out.print("scenarioTags: ");
printArray(scenarioTags);
System.out.print("optionsTags: ");
printArray(optionsTags);
System.out.print("runningTag: ");
printArray(runningTag);
}
希望对您有所帮助,
干杯
关于java - 如何获取CucumberOptions当前执行的标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43229886/
我是 cucumber 的新手。我正在尝试在 maven 项目中使用 testng 运行 cucumber 功能文件。为此,在我的 pom.xml 文件中,我依赖于 TestNG, cucumber
在下面的代码中,我使用了@cucumber.options.但它说它已被弃用。 所以我试图使用需要导入“cucumber.api.CucumberOptions”的@cucumberoptions。
在我的 testrunner 类中,在使用 @CucumberOptions 时,我收到一条错误消息,指出“CucumberOptions 无法解析为类型”。我正在使用最新版本的 Eclipse Cu
我正在使用@CucumberOptions(plugin = {"pretty"} 作为 cucumber 的测试报告,但默认颜色真的很糟糕..所以我想改变输出报告中的字体颜色。任何人都有任何想法..
我正在创建一个使用 Cucumber、junit 和 TestNG 的自动化项目。我的POM文件如下: 4.0.0 main.project project 0.0.1-SNAPS
我有这个 cucumber 运行者类(class): @RunWith(Cucumber.class) @CucumberOptions(plugin = {"pretty", "html:targe
import cucumber.api.java.en.When; : After importing error message The type When is depreciated .Thi
我正在尝试过滤我的测试套件中的功能。 我需要指定应该运行哪些具有 cucumber 功能的功能/文件夹。 我正在使用命令行运行它,指定单个功能路径工作正常: -D cucumber.options="
我在尝试使用 Eclipse (Neon 3) 生成报告时遇到意外问题。我使用的是 NoraUi V2.x.x,它是 Selenium、Cucumber 等的组合。 正如您在[下面附上的屏幕截图]中看
当我在 @CucumberOptions 中使用选项 format 进行测试报告时,它显示格式选项已被弃用如何解决。 @CucumberOptions( monochrome = true, form
我正在开发一个桌面应用程序,它将执行自动化测试用例。用户可以从 GUI 选择执行类型:按功能/按场景/按标签名称。现在我使用 maven 并在 CMD 中执行命令来执行测试用例,我想切换到 TestN
对于 Cucumber 1.1.2,我在 CucumberTest.java 中使用以下注释: @Cucumber.Options( features = { "blabla", "src
即使在将“cucumber-java”和“cucumber-junit”添加到我的 pom.xml 后,我仍然在 IntelliJ 中看到“无法解析 CucumberOptions”错误 最佳答案 花
即使在将“cucumber-java”和“cucumber-junit”添加到我的 pom.xml 后,我仍然在 IntelliJ 中看到“无法解析 CucumberOptions”错误 最佳答案 花
我正忙于一个用 Java 编码的 BDD 自动化项目。我们使用 Cucumber 来运行 BDD。我们用来启动运行的 JUnit 类如下: @RunWith(Cucumber.class) @Cucu
@Suite @SuiteDisplayName("NAME") @IncludeEngines("cucumber") @SelectClasspathResource("cucumber/test
@Suite @SuiteDisplayName("NAME") @IncludeEngines("cucumber") @SelectClasspathResource("cucumber/test
我在 Eclipse 中运行一个 maven 项目用于我的 Cucumber 测试。我的测试运行器类如下所示: @RunWith(Cucumber.class) @CucumberOptions(
大家好! 我安装了以下版本: "protractor": "~2.5.1", "gulp-protractor": "1.0.0", "cucumber": "~0.7.0", I had insta
我的测试套件之前有以下声明: @CucumberOptions(features = "src/test/resources/", plugin = {"pretty", "json:targ
我是一名优秀的程序员,十分优秀!