是否可以在Specflow中添加标签或具有多个BeforeTestRun挂钩

时间:2019-07-04 14:05:00

标签: selenium specflow

所以我目前有一个使用Selenium / Specflow创建的自动化程序包。

我想知道是否可以有多个BeforeTestRun钩子?

我已经尝试过:[BeforeTestRun("example1")],但是收到一条错误消息,指出 BeforeTestRunAttribute不包含带有1个参数的构造函数

我尝试了以下操作,但也失败了:

[BeforeTestRun]
[Scope(Tag = "example1")]

并在.feature文件中引用了上述内容,

@example1
Scenario: This is an example
    Given...
    When...
    Then...

有没有一种方法可以正确实现这一点,以便在一个.feature文件中,我可以有两种可以使用不同的[BeforeTestRun]的方案?

1 个答案:

答案 0 :(得分:0)

如果不能像建议的那样使用[BeforeScenario],则可以尝试使用if语句手动检查标签。要获取当前标签并将其与所需标签进行比较,请尝试以下操作:

var tags = ScenarioContext.ScenarioInfo.Tags;
if (tags.Any(x => x.Equals("MyTag")))
{
    DoWork();
}

此处有更多信息:https://stackoverflow.com/a/42417623/9742876