首页 > 解决方案 > Java 与 Cucumber 场景顺序

问题描述

我正在做一个自动化项目。

我的第一个场景是登录功能。我在 SaaS 上工作,我需要先登录。

所以我在考虑第一个 login.feature 场景和填写表单的第二个场景。

我有两个文件:

登录功能

fill_form.feature

我启动我的测试

mvn clean test -Dcucumber.options="--tags @login,@form"

所以它打开了两个窗口,但执行没有按预期工作:它同时启动了两个场景。

为了让它工作,我只需要制作一个功能文件,但这不是我想要的架构。

欢迎提出建议!

谢谢

标签: javaseleniumcucumbergherkin

解决方案


您的方法是正确的(您不希望代码重复),但您应该重用步骤而不是重用功能文件。您在这里有两个选择:

  1. 背景

您可以指定应在功能文件中的所有场景之前调用哪个步骤。例如:

Background:
  given I logged in

Scenario: Fill a form
  then I filled a form

Scenario: Some other scenario
  then "here is some work for other scenario"
  1. 从步骤定义调用步骤

创建一个调用其他的步骤定义。在您的情况下,这意味着创建一个填写表单步骤,该步骤将在开始时登录。


推荐阅读