即使步骤之一失败也要执行方案

时间:2019-02-14 12:06:47

标签: specflow

以下是正常示例,如果在步骤Test失败
然后我看到了Level2菜单链接 跳过所有后续步骤。 我想知道是否可以选择继续执行其他步骤?

谢谢

Feature: Menu
    In order to check MenuLinks

Scenario Outline: Open a Page
    Given I have open the Page
    Given I see MenuLinks
    When I click on Level1 in MenuLinks
    Then I see Level2 MenuLinks
    And I go back to pagetemplate
    Given I see Level2 in MenuLinks
    When I click on Level2
    Then I see Level3 MenuLinks

1 个答案:

答案 0 :(得分:2)

我不确定您为什么要这样做。这样做将使我们很难看到 Then 步骤已失败。如果这实际上并不重要,那么为什么要检查呢?
但这是一种尝试尝试的方法:

在您的步骤中然后我会看到Level2菜单链接

[Then(@"I see Level2 MenuLinks")]
public void ISeeLevel2MenuLinks()
{
  try 
  {
         Execute your test here
  }
  catch
  {
         NotifyMeOnFailure();
         //A method that will notify you that the step failed. 
         //Because in specflow it will show as succesfully passed 
  }

}

此外,我建议您不要使用您的帖子中的方法。最好创建两个不同的方案。

Scenario: Check for level2 menu links
  Given I have open the Page
  And I see MenuLinks
  When I click on Level1 in MenuLinks
  Then I see Level2 MenuLinks

Scenario: Check for level3 menu links
  Given I have open the Page
  When I click on Level1
  And I click on Level2
  Then I see Level3 MenuLinks

通过这种方式,可以快速轻松地检测出哪里出了问题。