Cucumber测试中的Scenario是什么?2025年3月17日 | 阅读 3 分钟 Scenario(场景)是Gherkin语言的核心结构之一。Scenario包括feature(特性)的所有可能情况以及这些情况的测试脚本。 关键字 "Scenario(场景)" 在Gherkin语言中代表一个场景。 一个feature可以有多个scenario,每个scenario由一个或多个步骤组成。 ![]() 让我们通过一个例子来理解scenario 示例为了确保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 每个scenario遵循 Given(假设), When(当), And(并且), 和 Then(那么) 格式。 这种格式属于一种特定的语言,称为 "Gherkin语言"。
Scenario Outline(场景大纲)在Gherkin语言中,scenario outline是用于多次运行同一scenario的关键字。 它也被定义为 "当使用不同的值组合多次执行相同的测试时,可以使用场景大纲。" 关键字 scenario outline 也可以用名称 Scenario Template(场景模板)来表示。换句话说,关键字Scenario Template是场景大纲的同义词。 场景大纲与scenario结构完全相似,但唯一的区别是提供多个输入。 为了使用场景大纲,我们不需要任何聪明的想法,我们只需要复制相同的步骤并重新执行代码。 让我们通过一个例子来理解场景大纲 示例假设我们需要测试多个用户的登录功能是否正常工作。 这种情况需要多次执行登录功能场景。 因此,场景大纲可以用于测试具有多个用户名和密码的登录功能场景。 在Gherkin语句中提及诸如 "Username(用户名)" 和 "Password(密码)" 之类的变量时,请用 "<>" 提及它们。 考虑以下测试脚本 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. 让我们采用上面的测试脚本,我们需要使用几个不同的用户名和密码集来测试登录功能。 Feature: Login Functionality Scenario Outline: Login functionality Username | Password username1 | password1 username2 | password2 username3 | password3 username4 | password4 在上面的例子中,我们为变量 "Username(用户名)" 和 "Password(密码)" 提供了多个输入值。 在执行实际测试时,Cucumber会将变量替换为提供的输入值。 一旦username1已经与password1一起执行,测试将针对第二次迭代执行另一个输入值。 Cucumber将遵循此路径,直到完成所有提供的值。 注意:Scenario Outline(场景大纲)必须包含一个Scenario(场景)部分。Scenario步骤被解释为一个模板,永远不会直接执行。 |
我们请求您订阅我们的新闻通讯以获取最新更新。