黄瓜方案:getSourceTagNames()不一致地以随机顺序返回列表

时间:2019-02-27 19:13:10

标签: java selenium cucumber qaf

我正在尝试为每个执行的黄瓜方案实施一个自动证据收集系统。为此,我需要将第一种情况@tag用作证据文件夹名称的一部分。

但是,我发现在黄瓜方案中,getSourceTagNames()方法与标签的写入顺序相比,以随机顺序返回列表。因此,简单地调用censing.getSourceTagNames()。get(0)并不会始终为我提供所需的标签。

例如 场景:示例 @tagINeed @secondTag @thirdTag

getSourceTagNames()可能返回{@ thirdTag,@ tagINeed,@ secondTag}

是否有办法确保返回的列表与写入列表的顺序相同?

1 个答案:

答案 0 :(得分:0)

您要查找的内容可以使用gherkin with qaf来实现,您将能够按定义的顺序访问标签,例如:

@tagINeed @secondTag @thirdTag
Scenario: Example 

Java代码:

scenario.getGroups()[0];//will return "@tagINeed"

如果您将使用BDD2 syntax代替小黄瓜,则可以将meta-data与场景一起使用。例如:

@TestID:ABC-123
@Evidence:tagINeed @firstTag @secondTag
Scenario: Example 

Java代码:

scenario.getMetaData().get("Evidence");//will return "tagINeed"
scenario.getGroups()[0];//will return "firstTag"