我在我的自动化项目中使用 Selenium+Cucumber,并使用 Java 编写。我写了一个功能文件,其中我在每个场景中重复了 4-5 个登录步骤。以下是在每个场景中重复出现的登录行。
Scenario: Display the relevant items assigned when logged in as an testUser
Given I am on the login page
And I fill email with valid testUser email address
And I fill password with valid testUser password
And I press Log in
When I click on the selector
Then I should see all the items assigned to my testUser account
此处关键字“testUser”被参数化。有时会用另一个用户重复相同的步骤,例如“stageUser”。对于此类步骤,Cucumber 是否提供了一种以某种方式概括这些步骤的方法?因为每个场景都从这 6 行开始,从而使场景看起来更大,并且有这些重复的步骤。
如有任何建议,我们将不胜感激。
最佳答案
您应该考虑将常用步骤移到背景中。 看起来有点乱,但您可以在场景描述中提及用户,如下所示。
Background:
Given Do given
When Do when
Then Do then
Scenario: User is - Test User One
And user name is
Scenario: User is - Test User Two
And user name is
然后在Before hook中捕获这个用户。然后用户将在场景中的各个步骤中可用。
private String user;
@Before
public void before(Scenario scen) {
this.user = scen.getName().substring(scen.getName().indexOf('-') + 2);
}
关于java - 如何概括 Selenium Cucumber 中的登录步骤并避免功能文件中的重复步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54594747/