如何设置需要先运行的黄瓜功能?

时间:2019-05-27 14:13:36

标签: testing selenium-webdriver cucumber end-to-end

我目前正在使用Cucumber和Selenium为具有基于会话的登录/身份验证的应用程序编写一些端到端测试。

我采用Cucumber方法,试图使每个测试功能完全独立。问题是,因为应用程序使用基于会话的身份验证,所以每次WebDriver关闭时(在测试每个功能之后),下一个测试的功能将创建一个新的WebDriver对象,随后将需要传递该对象登录屏幕以执行测试。

这里最好的方法是什么?我仍然想测试登录功能,但是感觉在运行登录功能测试之前要进行很多重复工作,而不需要进行任何其他功能测试。

例如,说我有一个“产品列表”功能,我想根据用户登录时使用的帐户类型来测试是否显示列表。对于“产品列表”功能场景之一,我的Given步骤可能是“ Given I am logged in as a admin user”,而在其他场景中,我的Given步骤可能是“ Given I am logged in as a non-admin user”。

我如何将这两个Given步骤引向已编写的适当登录方案?

1 个答案:

答案 0 :(得分:0)

黄瓜背景功能可能会给您一些避免重复的思想,并可以执行所需的操作,从而使您可以在执行实际方案之前做好准备。我们可以在后台传递用户类型:admin / non-admin步骤并使用数据表,在执行方案之前实际执行所需的正确操作。

Feature: Product listing

  Background: User is Logged In
    Given I am logged in as a admin/non-admin user using below set of credentials
      | User_Type  | Email_ID   | Password  |
      | admin      | TestData1  | TestData1 |
      | non-admin  | TestData2  | TestData2 |

  @Sanity
  Scenario: Validation of product listing based on user-type
    Given User is already logged on to My Account Section
    When Clicking on Super & Sub Category shall take user to PLP Page 
相关问题