1、关键字 - Feature

每一个.feature文件必须以关键字Feature开始,Feature关键字之后可以添加该feature的描述,其作用类似于注释,仅仅为了便于理解沟通交流,描述内容中不可以包含Gherkin关键字,描述部分将不会被执行。

2、关键字 - Scenario

一个feature可以包含多个Scenario,每一个Scenario都是一个独立可执行的Test case。换言之,每个Scenario就是该feature的一个测试场景。

Scenario关键字之后,可以加上对该Scenario的简单描述(描述内容中不可以包含Gherkin关键字)。

3、关键字 - Given、When、Then、And和But

在Gherkin语法里,Given、When、Then、And和But用来指示一个Scenario中的step:

  • Given:指测试所需要的前提条件
  • When:触发被测试件的执行步骤
  • Then:执行步骤所期待的结果
  • And / But:用来连接Given的多个条件,When的多个步骤,或者Then的多个期待结果

4、关键字 - Background

Background就是将.feature文件中多个scenario的公共step单独列出来。这样,一旦有改动,只需要在Background中进行修改,不用逐一修改每个scenario。

Background必须置于所有scenario之前。在运行时,Background中的步骤会和之前一样在每个scenario起始处被执行。

Background关键字并不是必选项,它的存在是为了增加scenario的可读性。

5、关键字 - Scenario Outline 和 Examples

多个Scenario具有相同的执行步骤和期待结果,只是测试数据不相同,一般一起组合,不能单独使用,即参数化测试场景!

6、流程下可能会对多个feature衍生出测试套件功能,相当于test plan

【Cucumber】关于BDD自然语言自动化测试的语法总结的更多相关文章

  1. 透过 Cucumber 学习 BDD

    在需求的开发过程中,最令人困惑的地方就在于需求模糊.需求是解决业务的问题,那么验收的方式应该是由业务方提出,但是往往业务方(可能是产品经理,也可能是直接是客户)只能给出比较模糊的一个验收标准,而程序却 ...

  2. uiautomator+cucumber实现移动app自动化测试

    前提 由于公司业务要求,所以自动化测试要达到以下几点: 跨应用的测试 测试用例可读性强 测试报告可读性强 对失败的用例有截图保存并在报告中体现 基于以上几点,在对自动化测试框架选型的时候就选择了uia ...

  3. Cucumber(2)——目录结构以及基本语法

    目录 回顾 HelloWorld 扩展 回顾 在上一节中,我大致的介绍了一下cucumber的特点,以及基于ruby和JavaScript下关于cucumber环境的配置,如果你还没有进行相关的了解或 ...

  4. BDD自动化测试框架cucumber(1): 最基本的demo

    BDD(Behavior Driven Development),行为驱动开发, 对应自动化测试框架,python有behave,java有cucumber, 这次记录cucumber+springb ...

  5. Python BDD自动化测试框架初探

    1. 什么是BDD BDD全称Behavior Driven Development,译作"行为驱动开发",是基于TDD (Test Driven Development 测试驱动 ...

  6. BDD Cucumber 实战

    cucumber cucumber 是一个用于执行 BDD 的自动化测试工具. 用户指南 创建 Spring Boot 项目并引入依赖 <?xml version="1.0" ...

  7. Cucumber语法及测试用例<一>

    工作原因,最近一直在研究cucumber的 语法以及它和java之间的关系.鉴于是初学者且代码基础薄弱,我开始摸索前行,感谢分享博客且也在一路前行的人儿们. 1.基本语法为:此处举例两种区别一看即知- ...

  8. BDD框架之Cucumber研究

    BDD框架之Cucumber研究 引用链接:http://kongqingyun123.blog.163.com/blog/static/6377283520134158437813/ Cucumbe ...

  9. 行为驱动开发BDD和Cucunber简介

    测试驱动开发(TDD) 1.测试驱动开发,即Test-Driven Development(TDD),测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论.TDD的原理是在开发功能代码之前 ...

  10. Cucumber 入门一

    (转自:http://www.cnblogs.com/jarodzz/archive/2012/07/02/2573014.html) 第一次看到Cucumber和BDD(Behavior Drive ...

随机推荐

  1. 从零实现俄罗斯方块(c语言+思路分析)

    俄罗斯方块 文章说明: 本文大部分参考至俄罗斯方块(C语言实现)_c语言俄罗斯方块_2021dragon的博客-CSDN博客,本人经过修改编辑,改变了文章的一些思路顺序,使得新手便于理解(个人想法). ...

  2. 好的,以下是我为您拟定的自然语言处理(NLP)领域的100篇热门博客文章标题,以逻辑清晰、结构紧凑、简单易懂的

    目录 1. 引言 2. 技术原理及概念 3. 实现步骤与流程 4. 应用示例与代码实现讲解 1. 机器翻译 2. 文本分类 3. 情感分析 5. 优化与改进 6. 结论与展望 好的,以下是我为您拟定的 ...

  3. 解读XML - Foreach循环

    <foreach item="item" index="index" collection="supplyIdAry" open=&q ...

  4. 【Oracle】当条件中存在空值时,同时将空值和非空值的结果查询出来

    [Oracle]当条件中存在空值时,同时将空值和非空值的结果查询出来 如果不是一定要用这个存在空值的条件的话,最好还是不用为好,省的麻烦 正常的查询结果如下 select * from ttt2023 ...

  5. GO网络编程(二)

    [[Go语言系列视频]老男孩带你21周搞定Go语言[全 242]] https://www.bilibili.com/video/BV1fD4y117Dg/?p=113&share_sourc ...

  6. Excel 进度图表制作

    Excel 改变图标的形状 最终效果 过程有点杂乱,不再重新整理,基本照着下面的设就完事了. 未完成的想用柱型,和已完成的相结合 右击,更改表类型 选择簇状柱形图.次标轴 注意主.次坐标 进度改为折线 ...

  7. Go语言的Printf用法

    在 Go 语言中,Printf 是用于格式化输出的函数,用于将数据以指定格式打印到标准输出或其他输出流.其中,%p 是 Printf 函数的一个格式化动词,用于输出指针的值. 以下是 %p 的详细说明 ...

  8. ENVI、ERDAS计算Landsat 7地表温度:单窗算法实现

    本文介绍基于ENVI与ERDAS软件,对Landsat 7遥感影像数据加以单窗算法的地表温度(LST)反演操作. 目录 1 原理部分与前期操作准备 1.1 图像预处理 1.2 植被指数反演 1.3 单 ...

  9. 如何正确使用:has和:nth-last-child

    我们可以用CSS检查,以了解一组元素的数量是否小于或等于一个数字.例如,一个拥有三个或更多子项的grid.你可能会想,为什么需要这样做呢?在某些情况下,一个组件或一个布局可能会根据子元素的数量而改变. ...

  10. 牛客小白月赛65 E题 题解

    原题链接 题意描述 构造一个\(1\)到\(n\)的排列,使得其中正好有\(k\)个二元组\((i, j)\)满足,\(1\le i\lt j\le n\) && \(a_i - a_ ...