2016-10-09 30 views
0

我有我的WEBA utomation框架和我添加几个情景API级别的测试。在我的Hooks“After step”之后,我想让它对API级别的测试有所不同。像不要默认的“后步”。我怎样才能做到这一点 ?如何运行Specflow AfterStep的挂钩特定的场景只是

我已经添加了标签功能级别,并试图使用该标记,但它仍然会老AfterStep的。

[AfterStep("@API1")] 
    public static void AfterSteps() 

    { 

    } 

原AfterStep的

[AfterStep] 
    public static void AfterStep() 
    { 
    } 

ofcourse我需要的方法名称更改为 “Aftersteps” 我的新AfterStep的挂钩。

请帮我这里有什么问题?

+0

你能解释更多的什么“AfterStep”挂钩在干什么?在场景开始时,你可能会更喜欢'Given',或者将一些步骤添加到'Background'中。 –

+0

@GregBurghardt: - 我的后一步是刚刚退出浏览器,清除cookies和缓存。但是,使用API​​测试我们不想打开浏览器。在我的Aftestep中,我们有一个可以调用浏览器的Pagemanager类。所以基本上与API标签我只是为了避免我的测试进入默认的Afterstep。让我知道你是否需要更多解释? 此外,我是100%的信心,我不想考虑或背景。 – vic

回答

1

在属性,你不需要@。
所以会做到这一点:

[AfterStep("API1")] 
+0

: - 是的,我想出了一个我们不需要@和我删除它。但是我的测试仍然通过AftesStep钩子。一个带有API标签,另一个没有它。所以只是想知道我们如何解决它? – vic

0

如果您不希望您的一部开拓创新AfterStep的当类别API1设置运行,使用下面的代码:

 if(ScenarioContext.Current.ScenarioInfo.Tags.Contains("API1")) 
     { 
      return; 
     } 
相关问题