Cucumber常用关键字

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 我应该看到"订单提交成功"的提示信息

上述示例中,GivenAndWhenThen都是Cucumber提供的默认关键字,开发者可以在Step描述中使用这些关键字,而后面的代码实现则是具体的测试脚本代码。

Given、When、Then

GivenWhenThen是Cucumber中特有的一组关键字,用于定义测试步骤的执行顺序。在使用这些关键字时,要保证它们的顺序,即先用Given给出测试场景的前置条件,再用When执行测试操作,最后用Then检查测试输出是否符合预期。

示例:

Given 银行卡中有1000元
When 我在ATM机上提取500元
Then 银行卡中应该还剩下500元

And、But

AndBut关键字用于在一个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技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • python中10的n次方如何表示

    Python中10的n次方如何表示的完整攻略 在Python中,可以使用科学计数法表示10的n次方。本文将介绍Python中10的n次的表示方法,包括两个示例说明。 Python中10的n次方的表示方法 在Python中,可以使用科学计数法表示10n次方。科学计数法的格式为a * 10^b,其中a是一个浮点数,b是一个整数。例如,1.23e4表示1.23 *…

    other 2023年5月9日
    00
  • 电脑开机出现Invalid system disk导致系统无法正常启动的原因及解决方法

    首先,我们需要了解什么是“Invalid system disk”。在简单的说法中,这是电脑无法找到有效系统盘以引导操作系统启动的错误。 原因 造成此问题的主要原因是系统盘被损坏或者系统引导顺序被更改。更具体来说,以下是一些常见原因: U盘或光盘未被移除而导致的系统引导顺序更改; 系统盘驱动器故障; 磁盘驱动器错误或损坏,如硬盘故障; BIOS设置被修改; …

    other 2023年6月27日
    00
  • 使用SpringBoot2.x配置静态文件缓存

    使用Spring Boot 2.x配置静态文件缓存攻略 在Spring Boot 2.x中,可以通过配置来启用静态文件缓存,以提高应用程序的性能和加载速度。下面是一个详细的攻略,包含了两个示例说明。 步骤1:添加依赖 首先,确保在项目的pom.xml文件中添加以下依赖: <dependency> <groupId>org.spring…

    other 2023年8月3日
    00
  • vivo手机内存不够怎么办 快应用功能轻松解决手机内存不足问题

    vivo手机内存不够怎么办 快应用功能轻松解决手机内存不足问题攻略 1. 了解快应用功能 快应用是一种轻量级应用,可以在不安装的情况下直接运行在手机上。它们占用的内存较少,不会占用手机的存储空间。因此,使用快应用功能可以帮助解决手机内存不足的问题。 2. 下载和安装快应用 要使用快应用功能,首先需要下载和安装快应用。请按照以下步骤进行操作: 打开vivo手机…

    other 2023年8月2日
    00
  • Shell脚本实现自动修改IP地址

    Shell脚本实现自动修改IP地址攻略 简介 Shell脚本是一种在Unix/Linux系统中编写的脚本语言,可以用于自动化任务和系统管理。在本攻略中,我们将使用Shell脚本来实现自动修改IP地址的功能。 步骤 1. 获取当前IP地址 首先,我们需要获取当前系统的IP地址。可以使用ifconfig命令来获取当前网络接口的信息。在Shell脚本中,可以使用g…

    other 2023年7月30日
    00
  • Python面向对象之继承原理与用法案例分析

    Python面向对象之继承原理与用法案例分析 Python是一种面向对象的编程语言,在Python中,面向对象编程的继承是其核心概念之一。通过继承,我们可以实现代码重用和代码的无侵入性修改,同时也能提高程序的可维护性。本篇攻略将会深入讲解Python中的继承原理与用法,并提供常用的继承案例供参考。 继承的原理 在Python中,继承是通过创建一个新的类,并将…

    other 2023年6月26日
    00
  • keil5最新破解教程(可以使用到2032年哦!):

    Keil5最新破解教程(可以使用到2032年哦!) Keil5是一款以ARM Cortex-M为基础的嵌入式系统开发工具,由Keil Software发布。然而,它是一个商业软件,需要付费才能使用。但是,我们可以通过这篇文章介绍的方法进行破解,让你能够免费且长期地使用它。 步骤一:下载Keil5软件和破解文件 首先,我们需要下载Keil5软件和破解文件。你可…

    其他 2023年3月28日
    00
  • 未将对象引用设置到对象的实例 (System.NullReferenceException)

    未将对象引用设置到对象的实例 (System.NullReferenceException) 是一种常见的 C# 异常。该异常表示代码中访问了一个空引用对象,即没有被初始化或者已经被销毁的对象。这种异常通常会导致程序崩溃或者导致意外的行为。 以下是处理该异常的完整攻略: 理解 NullReferenceException 异常的原因 相信这个异常很多开发者都…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部