cucumber测试的Scenario是什么?


cucumber测试的Scenario是什么?

方案是Cucumber语言的核心建筑之一。方案包括的所有可能的情况下,有这些情况和测试脚本。

关键字“ Scenario ”代表了Gherkin 语言中的一个场景。

一个特性可以有多个场景,每个场景由一或多个步骤组成。

黄瓜测试场景

让我们通过一个例子来理解这个场景:

例子:

为了确保 Web 应用程序的反馈功能,我们正在创建一个cucumber测试来验证它是否正常工作。

Scenario - Verification of Feedback Functionality
Given the user navigates to JavaTpoint.com
When the user clicks on Feedback, then the Feedback page opens
And the user submits feedback message
Then feedback should be received on the admin page
And admin can reply to the user

每个场景都遵循GivenWhenAndThen 格式。这种格式属于一种特殊的语言,称为“Gherkin language”。

  • Given:它描述了应用程序的特定功能的任务。它基本上是测试的预先已知状态或前提条件。
  • When:用于描述动作。例如,当用户尝试登录时,它被视为一个动作。
  • Then:预期的结果应该放在这里。比如登录成功的验证就是一个结果。
  • And:我们可以用它来组合两个或多个相同类型的动作。例如,用户名和密码属于同一类型,即登录功能。

Scenario Outline

在 Gherkin 语言中,Scenario Outline是用于多次运行同一个场景的关键字。

它也被定义为“当使用不同的值组合多次执行相同的测试时使用Scenario Outline。”

关键字方案大纲也可以通过名称Scenario Template 使用。换句话说,关键字Scenario Template 是Scenario 的同义词。

Scenario outline与scenario structure完全相似,但唯一的区别是提供了多个输入。为了使用scenario structure,我们不需要任何聪明的想法,我们只需要复制相同的步骤并重新执行代码即可。

我们通过一个例子来理解场景大纲:

例子:

假设我们需要测试多个用户的登录功能是否正常工作。这种情况需要多次执行登录功能场景。因此,场景大纲可用于测试具有多个用户名和密码的登录功能场景。

在 gherkin 语句中提及诸如“用户名”和“密码”之类的变量时,请使用“ <> ”来提及它们。考虑以下测试脚本:

Scenario: Successful Login with Valid entries
Given user navigates to the website javatpoint.com 
When User Navigate to Login Page
And user logs in through Login Window by using <Username> as "username1"
And <Password> as "password1"
Then login must be successful.

让我们以上面的测试脚本为例,其中我们需要使用几组不同的用户名和密码来测试登录功能。

功能:登录功能  
场景大纲:登录功能
用户名 | 密码
用户名1 | 密码1
用户名2 | 密码2
用户名3 | 密码3
用户名4 | 密码4

在上面的例子中,我们为变量“用户名”和“密码”提供了多个输入值。在执行实际测试时,Cucumber 将使用提供的输入值替换变量。

使用 password1 执行 username1 后,测试将使用另一个输入值执行第二次迭代。Cucumber 将遵循此路径,直到完成所有提供的值。