logo图片
Cucumber教程

Cucumber 测试场景

什么是 Cucumber 测试中的场景?

场景是 Gherkin 语言的核心结构之一。 Scenario 包括特性的所有可能情况以及这些情况的测试脚本。
关键字"Scenario strong>" 代表Gherkin 语言中的一个场景。
一个特性可以有多个场景,每个场景由一个或多个组成
Scenario in Cucumber Testing
通过一个例子来理解这个场景:

示例:

为了确保 Web 应用程序的反馈功能,我们正在创建一个Cucumber测试来验证它是否有效。
Scenario-Verification of Feedback Functionality
Given the user navigates to lidihuo.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
    
每个场景都遵循Given、When、And 和Then 格式。这种格式属于一种特定语言,称为"Gherkin 语言"。
Given: 它描述了应用程序的特定功能的任务。它基本上是测试的预先已知状态或先决条件。 When: 用于描述动作。例如,当用户尝试登录时,它被视为一个动作。 Then: 预期的结果应该放在这里。例如,验证登录成功就是结果。 And: 我们可以使用它来组合两个或多个相同类型的操作。例如,用户名和密码属于同一类型,即登录功能。

场景大纲

在 Gherkin 语言中,场景大纲是用于多次运行同一个场景的关键字。
它是也定义为"当使用不同的值组合多次执行相同的测试时使用场景大纲。"
关键字场景大纲也可以通过名称场景模板.也就是说,关键字Scenario Template 是scenario outline 的同义词。
Scenario outline 与scenario 结构完全相似,但唯一的区别是提供多个输入。为了使用场景大纲,我们不需要任何聪明的想法,我们只需要复制相同的步骤并重新执行代码即可。
让我们通过一个例子来理解场景大纲:

示例:

假设我们需要测试多个用户的登录功能是否正常工作。这种情况需要多次执行登录功能场景。因此,场景大纲可用于测试具有多个用户名和密码的登录功能场景。
在 gherkin 语句中提及诸如“用户名”和“密码”之类的变量时,请使用“ <> ”来提及它们。考虑以下测试脚本:
Scenario: Successful Login with Valid entries
Given user navigates to the website lidihuo.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.
    
我们以上面的测试脚本为例,其中我们需要使用几组不同的用户名和密码来测试登录功能。
Feature: Login Functionality  
Scenario Outline: Login functionality
Username | Password
username1 | password1
username2 | password2
username3 | password3
username4 | password4
    
在上面的例子中,我们为变量"用户名"和"密码"提供了多个输入值。在执行实际测试时,Cucumber 将使用提供的输入值替换变量。
使用 password1 执行 username1 后,测试将使用另一个输入值执行第二次迭代。 Cucumber 将遵循此路径,直到完成所有提供的值。
注意: 一个场景大纲必须包含一个场景部分。场景步骤被解释为模板,从不直接执行。
昵称: 邮箱:
Copyright © 2020 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4