Cucumber常用关键字
Cucumber是一种行为驱动开发(Behavior Driven Development,BDD)工具,它可以用自然语言描述测试用例,然后将这些测试用例自动生成可执行的测试代码。在Cucumber中,有许多常用的关键字可以用于定义测试用例的各个部分。
Feature
Feature关键字用于定义一个功能或者一个行为,它是Cucumber中最高级别的概念。一个Feature由三个部分组成:Feature名称、Feature描述、以及Scenario。
示例:
Feature: 订单管理
As a 店主
I want to 管理订单
So that 我可以使得自己的生意更好
Scenario: 查看订单列表
Given I am on the 订单管理页面
When I click 订单列表按钮
Then I should see 订单列表展示出来
Scenario
Scenario关键字用于定义一个测试场景,它描述了一个条件下的一组测试步骤和期望输出。一个Scenario有多个Step组成。
示例:
Scenario: 提交订单
Given 我已选中"瑞幸咖啡"商品
And 我已选中"中杯"规格
And 我已填写配送地址
When 我点击"提交订单"按钮
Then 我应该看到"订单提交成功"的提示信息
Step
Step关键字用于定义一个测试步骤,它是一个场景的最小单位,一个Step分为三个部分:关键字、描述、以及代码实现。Cucumber默认提供了一组关键字,开发者也可以添加自定义关键字。
示例:
Given 我已选中"瑞幸咖啡"商品
And 我已选中"中杯"规格
And 我已填写配送地址
When 我点击"提交订单"按钮
Then 我应该看到"订单提交成功"的提示信息
上述示例中,Given
、And
、When
、Then
都是Cucumber提供的默认关键字,开发者可以在Step描述中使用这些关键字,而后面的代码实现则是具体的测试脚本代码。
Given、When、Then
Given
、When
、Then
是Cucumber中特有的一组关键字,用于定义测试步骤的执行顺序。在使用这些关键字时,要保证它们的顺序,即先用Given
给出测试场景的前置条件,再用When
执行测试操作,最后用Then
检查测试输出是否符合预期。
示例:
Given 银行卡中有1000元
When 我在ATM机上提取500元
Then 银行卡中应该还剩下500元
And、But
And
和But
关键字用于在一个Step中添加多个描述,常常用于描述测试场景的中间状态。
示例:
Given 我已打开"瑞幸咖啡"的官网
And 我已搜索"秋季新品"
But 我没有找到我想要的咖啡
Background
Background关键字用于定义一组会被所有测试场景共享的前置条件。
示例:
Feature: 订单管理
As a 店主
I want to 管理订单
So that 我可以使得自己的生意更好
Background:
Given 我已登录
Scenario: 查看订单列表
Given I am on the 订单管理页面
When I click 订单列表按钮
Then I should see 订单列表展示出来
Scenario: 取消订单
Given I am on the 订单管理页面
When I click 某个订单的取消按钮
Then I should see 订单状态被设置为已取消
上述示例中,Background描述了所有测试场景共享的前置条件,即需要已登录才能进行订单管理操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Cucumber常用关键字 - Python技术站