一、cucumber介绍
cucumber是BDD(Behavior-driven development,行为驱动开发)的一个自动化测试的副产品。它使用自然语言来描述测试,使得非程序员可以理解他们。Gherkin是这种自然语言测试的简单语法,而Cucumber是可以执行它们的工具。
官方地址:https://cucumber.io/
1、Cucumber的特性
- 可执行性(Excutable):您可以像执行代码(Java、Ruby...)一样运行这些规范,来验证、验收目标应用
- 规范性(Specification):从非技术人员的视角触发,相比验证本身,他们更加关心系统功能的清晰描述:系统在什么场景下能做什么样的事情。
2、如何使用Cucumber
大致步骤:
- 编写feature文件
- 生成steps
- 运行测试用例
二、Gherkin
Cucumber的核心是一个叫Gherkin的语言。
1、主要的关键字
关键字 | 中文解释 |
---|---|
feature | “功能” |
background | “背景” |
Rule | “规则” #从Gherkin加入 |
scenario|example | “场景”, “剧本” |
scenario outline|Scenario Template | “场景大纲”, “剧本大纲” |
examples | “例子” |
given | "* ", “假如”, “假设”, “假定” |
when | "* ", “当” |
then | "* ", “那么” |
and | "* ", “而且”, “并且”, “同时” |
but | "* ", “但是” |
given (code) | “假如”, “假设”, “假定” |
when (code) | “当” |
then (code) | “那么” |
and (code) | “而且”, “并且”, “同时” |
but (code) | “但是” |
其他关键字:
“”" | “文档字符串” |
| | “数据表” |
@ | “标签” |
# | “评论” |
三、cucumber如何工作
当您运行Cucumber时,它会从称为特性的纯语言文本文件,检查它们测试场景,并针对您的系统运行场景。每个场景都是Cucumber要完成的步骤列表。这样Cucumber就能理解这些特征文件必须遵循一些基本的语法规则。集合的名称规则是小黄瓜。