【问题标题】:Is it possible to add tags or have multiple BeforeTestRun hooks in Specflow是否可以在 Specflow 中添加标签或有多个 BeforeTestRun 挂钩
【发布时间】:2019-07-16 02:01:42
【问题描述】:

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

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

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

我尝试了以下方法,但也失败了:

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

并在 .feature 文件中引用上述内容,如下所示:

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

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

【问题讨论】:

  • 尝试使用[BeforeScenario] [Scope(Tag = "example1"] 而不是BeforeTestRun,因为您希望在每个场景级别之前使用不同的挂钩。
  • 我试过 [BeforeScenario] 但这对我的实现不起作用
  • 你能分享你的尝试和错误吗?

标签: selenium specflow


【解决方案1】:

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

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

更多信息在这里:https://stackoverflow.com/a/42417623/9742876

【讨论】:

    猜你喜欢
    • 2015-04-20
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多