【发布时间】:2019-04-28 01:36:11
【问题描述】:
在阅读了很多文章之后,据我了解,所有 Cucumber 测试都应该相互独立且自治,因此这是我在自动化 Web 应用程序测试时遵循的规则。
假设我正在测试具有多个输入字段的网页。
目前,对于 CRUD 操作,我有两种类型的场景:
Scenario: Check page display correct data
Given: I populate DB with data
When: I open the page
Then: Page data should match with data from DB
Scenario: Update page data
Given: I populate DB with data
When: I open the page
And: I update each field with some new data
When: I press save button to save data
Then: Page data should match with data from DB
所以在这种情况下,我有两种情况来检查数据是否正确显示,另一种情况是更新数据并检查它,但是因为填充数据库的步骤需要很长时间(1-3 秒)我在想,为什么不将这两种场景合二为一,大大缩短执行时间:
Scenario: Update page data
Given: I populate DB with data
When: I open the page
Then: Page data should match with data from DB
And: I update each field with some new data
When: I press save button to save data
Then: Page data should match with data from DB
如您所见,首先我填充数据库,然后检查它是否正确显示,然后修改它并再次检查,因此我在单个场景中检查了两个 CRUD 操作(读取和更新),但是我认为这是违反原则的。
【问题讨论】:
标签: selenium-webdriver automation automated-tests cucumber