【问题标题】:Using Background title as Background in cucumber在黄瓜中使用背景标题作为背景
【发布时间】:2018-12-14 14:25:35
【问题描述】:

假设我使用具有以下步骤的背景功能:

Background: My pre-requisites
Given Step one
When Step Two
Then Step Three
....
Then Step Fifteen

所以基本上我的背景有 15 个常用步骤,这些步骤是运行一组场景所必需的。

我的问题是:是否可以在其他功能文件中使用背景标题My pre-requisites,而不是将所有 15 个步骤写为背景?或者有没有其他方法可以更优雅地处理这个问题。

【问题讨论】:

  • 您可以创建一个 before 挂钩来编码后台逻辑并在任何功能文件中重用它。甚至标记钩子,这样你就可以过滤掉你不希望之前钩子运行的场景......
  • 这是有道理的,看起来很干净。给它作为答案,以便我可以关闭它。
  • 您需要区分针对您的应用程序运行任何测试所需做的事情与您在应用程序中自动化以使其进入可以执行测试的阶段的事情。第一个可能是预加载一组数据。第二个是登录应用程序并导航到某些页面你在说什么?
  • 第二种情况,我需要设置一些东西才能运行测试

标签: selenium automation cucumber bdd gherkin


【解决方案1】:

您可以创建一个 before 挂钩来对后台逻辑进行编码并在任何功能文件中重复使用它。甚至标记钩子,这样你就可以过滤掉你不希望之前钩子运行的场景。

【讨论】:

    【解决方案2】:

    除了现有答案之外,您还可以编写一个新步骤,将 15 个步骤的功能压缩成一两个步骤来表达您正在设置的内容。

    围绕它的问题是:

    企业是否需要知道用户将如何与网站交互以达到您准备开始测试的程度?

    您能否绕过用户与网站的交互方式以到达那里,而不会在开发团队和业务之间的翻译中丢失有关测试的信息?

    对于前者,我会选择背景。后者,我会选择 Hook。

    例如:

    • 我需要注册一个用户才能在我的测试中以他们的身份登录。 Givens 将从我登录开始,因此我将通过 Hook 中的 API 注册用户。

    • 我需要注册一个用户,以便测试新用户在退出表单时的功能以及与注册相关的各种项目,因此我将从一些后台步骤开始注册用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-11
      • 2018-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多