java如何在功能文件中概括登录步骤并避免重复步骤?
我在自动化项目中使用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行开始的,这样一来,scearios看起来就更大了,而且有了这些重复的步骤
任何建议都将不胜感激
# 1 楼答案
使用@Before和@After注释分别在每个场景之前和之后运行。当我们需要执行一些全局设置/清理时:@BeforeSuite和@AfterSuite
# 2 楼答案
写出更好的场景和步骤。你的一切都是关于你是如何登录的,所以重复是痛苦的。相反,写下只与你正在做的事情有关的步骤;这些更容易重复使用
所以
后来
看看我是如何把一大堆背景简化成更简单、更抽象的东西的
我将在这里给出一些关于实现的提示
您可以以任何复杂程度应用此方法。请注意,在上一个场景中,我们是如何使用相对复杂的注册行为的,而该场景或功能甚至没有意识到(注册是登录的一部分)
# 3 楼答案
然后在Before钩子中捕获该用户。然后,用户将在场景中的各个步骤中可用