selenium 调用一个步骤,该步骤触发使用cumb的步骤组

pgvzfuti  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(148)

我有场景1、场景2和场景3,它们有5个共同的步骤。
示例:

Scenario-1:
Given User Step1
And User Step2
And User Step3
And User Step4
And User Step5
When User Completes 5 steps in X
Then User Signoff X

Scenario-2:
Given User Step1
And User Step2
And User Step3
And User Step4
And User Step5
When User Completes 5 steps in Y
Then User Signoff Y

Scenario-3:
Given User Step1
And User Step2
And User Step3
And User Step4
And User Step5
When User Completes 5 steps in Z
Then User Signoff Z

我可以调用Step1to5,而不是每次都编写所有常见的5个步骤

Scenario-N
Given User Step1to5
When User Completes 5 steps in N
Then User Signoff N

注意:我了解到,在规范流中,从步骤开始的步骤缩放在最新版本中被删除了,如果从步骤开始调用步骤是一个选项,我提到了JAVA框架,那里使用了一个组标记来将重复的步骤俱乐部到一个公共步骤中,是否有类似的东西可以在cubble c#中使用?

2izufjch

2izufjch1#

将常见步骤分组到方案背景中:

Feature: ...

Background:
    Given User Step1
    And User Step2
    And User Step3
    And User Step4
    And User Step5

Scenario: 1
    When User Completes 5 steps in X
    Then User Signoff X

Scenario: 2
    When User Completes 5 steps in Y
    Then User Signoff Y

Scenario: 3
    When User Completes 5 steps in Z
    Then User Signoff Z

将为功能中的每个方案执行Background步骤。如果某些方案不应包括这些步骤,则将它们移动到各自的功能文件中。
如果你所做的只是每个场景保存5个步骤,我认为你不需要消除这种重复。行为驱动的开发测试的目标是交流行为,* 而不是消除代码重复 *。
我的建议是,如果将重复的步骤移到Background中会使场景更难理解,则保留每个场景中的重复步骤。另一方面,如果将步骤移到公共Background中会使场景 * 更容易 * 理解,则一定要将公共步骤移出场景。

相关问题