即使步骤之一失败也执行场景
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
这样可以更轻松地快速检测出哪里出了问题。
以下只是正常示例,如果测试在步骤
失败
然后我看到 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
这样可以更轻松地快速检测出哪里出了问题。