gpt4 book ai didi

java - 如何在 Cucumber java 中使用嵌套场景大纲

转载 作者:行者123 更新时间:2023-12-03 21:54:58 26 4
gpt4 key购买 nike

2假设我有一个类似的场景大纲

@Scenario1
Scenario Outline:Scenario one
Given fill up login fields "<email>" and "<password>"
And click the login button
Examples:
| email | password |
| someEmailAddress | SomePassword |
| someEmailAddress2| SomePassword2 |

和另一个类似的场景

@Scenario2
Scenario Outline:Scenario two
Given fill up fields "<value1>" and "<value2>"
Examples:
| value1 | value2 |
| value11 | value21 |
| value12 | value22 |

我如何运行像使用“someEmailAddress”登录并填充所有 scenario2 值然后使用“someEmailAddress2”登录并执行相同操作的场景。

最佳答案

Cucumber 场景是我们用来描述行为的工具,即正在发生的事情及其重要性。它们不是编程测试的工具。有效使用 Cucumber 的方法是保持场景简单,让步骤定义调用的代码为您进行编程。

步骤定义和它们调用的方法是用编程语言编写的。这为您提供了处理与系统交互方式的细节所需的全部能力。

写Cucumber场景的艺术,每个人都可以讲

  1. 我们需要设置状态以便我们可以做某事(Givens)
  2. 我们的互动(何时)
  3. 我们希望在互动后看到什么。 (然后)

所以对于你的场景,我们有

Scenario: Login
Given I am registered
When I login
Then I should be logged in

当我们使这个场景工作时,我们的程序具有我们可以登录的行为。那么我们可以在其他场景中使用该行为,例如

Scenario: See my profile
Given I am logged in
When I view my profile
Then I should see my profile

现在要完成这项工作,我们可能需要做更多的工作,因为这个场景还没有注册用户。我们可以通过多种方式处理这个问题

1) 添加另一个 Given,也许在背景中

Background:
Given I am registered

Scenario ...
Given I am logged in

2)我们可以在登录步骤注册,例如

   Given "I am logged in" do
@i = register_user
login_as user: @i
end

请注意,在这一步中,我们如何调用辅助方法 register_userlogin_as 来为我们完成工作。

这是开始使用 Cucumber 的方法。请注意我的场景如何没有提及我们如何登录,没有电子邮件,没有密码,没有填写任何内容。要有效地使用 Cucumber,您必须将这些细节下推到步骤定义和它们调用的辅助方法中。

总结

让您的场景保持简单,并使用它们来描述是什么并解释为什么。使用步骤定义和辅助方法来处理 HOW。使用 Cucumber 时无需使用场景大纲,您永远不应该嵌套它们。

关于java - 如何在 Cucumber java 中使用嵌套场景大纲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47028250/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com