BDD BDD 自动化测试框架—cucumber 浅谈

tunsuy · 2015年03月07日 · 最后由 garylin 回复于 2017年01月12日 · 3451 次阅读

这次准备研究一下 calabash 这个自动化测试框架,
因为 calabash 的 client 是基于 cucumber 框架的,所以这篇文章首先介绍下 cucumber 框架

这里附上 cucumber 的官网网址:https://cukes.info/

支持中、英等自然语言,是 Cucumber 的特点之一。
在 Cucumber 的帮助文档里,声明它支持包括简体中文、繁体中文、日文、韩文和英文在内的 45 种语言

这里给出 cucumber 的关键字

*  Feature(功能)
*  Scenario(情景)
*  Given(给定)
*  When(当)
*  Then(则)

它们的含义与原有自动化测试工具中的概念相同,类比如下:

TestFeature (功能)test suite (测试用例集)
 Scenario(情景) — test case (测试用例)
      Given(给定) — setup(创建测试所需环境)
         When(当)— test(触发被测事件)
           Then(则)— assert(断言,验证结果)

这里已官网的一个例子说明如下

第一幅图片是定义的一个功能(Feature)—一般在 Feature 文件夹下,以.feature 扩展名结尾
它有一个情景(Scenario),有 4 个步骤(Given、And、When、Then 的每一行均为一个步骤)

第二幅图片就是对该功能的实现定义—在 step_definitions 文件夹下,使用 ruby 脚本编写,必须以这几个关键字命名函数
/ /中就是对应 Feature 文件中的步骤,| | 中是就是步骤中需要输入的相关的参数

第三幅图片就是在运行测试时出错的提示

最后一幅图片就是测试全部通过的提示,右边会给出每个步骤对应的实现文件说明

共收到 6 条回复 时间 点赞

其实这些给出 cucumber 的关键字,你可以理解为 glue word,没啥意义。。。 都可以随便用。

#1 楼 @lihuazhang 你的意思是这些关键字只是规则约定,可以自我扩展关键字,只要 feature 和 step_definitions 相互对应即可

BDD 自动化测试框架—cucumber 这个可以实现什么功能?可用性高么?

#4 楼 @testly calabash 的服务端就是基于这个框架的,BDD 是一种新的理念,只是现在还没发展起来

我用 DDD

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册