即使步骤之一失败也执行场景

Executing scenario even if one of the step is failed

以下只是正常示例,如果测试在步骤
失败 然后我看到 Level2 MenuLinks 它跳过所有后续步骤。 我想知道是否有任何选项可以继续执行其他步骤?

谢谢

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

我不确定你为什么要这样做。这样做会使 Then 步骤更难发现失败。如果这实际上并不重要,你为什么要检查它?
但这是解决这个问题的一种方法,使用 try catch:

在你的步骤中然后我看到Level2 MenuLinks

[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 
  }

}

此外,我反对您在 post 中采用的方法。最好创建两个不同的场景。

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

这样可以更轻松地快速检测出哪里出了问题。