【Cucumber】关于BDD自然语言自动化测试的语法总结

发布时间 2023-10-08 20:27:06作者: 久曲健

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