python行为bdd框架。步骤失败时如何执行剩余步骤

时间:2020-06-23 00:19:50

标签: python-3.x cucumber python-behave

我正在使用python BDD框架。即使一步失败后,我也需要继续执行其余的步骤。

Scenario Outline: Components
        Given I load the website
        When I go to "Dashboard" page
        Then I see this component "<boxes>"

上述情况下的第二步失败时。即使以上步骤失败,我也希望继续进行下一步。我该怎么办

1 个答案:

答案 0 :(得分:0)

例如,您可以在场景中添加标签@runner.continue_after_failed_step,然后在环境中添加以下代码。py:

from behave.model import Scenario

def before_scenario(context, scenario):
              if "@runner.continue_after_failed_step" in scenario.effective_tags:
                  scenario.continue_after_failed_step = True

或者,如果您想在所有场景的失败步骤之后继续执行,只需将其添加到您的环境中即可。py:

from behave.model import Scenario
      
def before_all(context):
              userdata = context.config.userdata
              continue_after_failed = userdata.getbool("runner.continue_after_failed_step", False)
              Scenario.continue_after_failed_step = continue_after_failed

并将这些参数添加到根目录下的behavior.ini文件中:

[behave]
show_timings = false

[behave.userdata]
runner.continue_after_failed_step = true

如果您需要更多信息,可以在Behave Github

的行为项目中找到实现。