1.1 BBD简述
BDD(BehaviorDriven Development:行为驱动开发)为用户提供了从开发人员和客户的需求创建测试脚本的机会。因此,开始时,开发人员,项目经理,质量保证,用户验收测试人员和产品所有者(股东)都齐聚一堂,集思广益,讨论应该传递哪些测试场景,以便成功调用此软件/应用程序。这样他们想出了一组测试场景。所有这些测试脚本都是简单的英语语言,所以它也服务于文档的目的。
1.2 Cucumber简述
Cucumber是一个支持行为驱动的开发的开源工具。 更准确地说,Cucumber可以定义为一个测试框架,由简单的英语文本驱动。它作为文档、自动化测试和开发帮助。它可以在以下步骤中描述:Cucumber读取在要素文件中以纯英语文本编写的代码;它找到步骤定义中完全匹配的每个步骤。
这部分被执行的代码可以是不同的软件框架像Selenium、Ruby on Rails等。不是每个BDD框架工具都支持每个工具。这也是Cucumber比那些框架受欢迎的原因,因为它支持:JBehave、JDave、Easyb等。
Cucumber支持数十种不同的软件平台,例如:Ruby on Rails、Selenium、PicoContainer、Spring Framework、Watir。
常用的自动化测试框架总结:https://www.cnblogs.com/mover/p/3673669.html
Cucumber优于其它工具的优点:
Ø Cucumber支持不同的语言,例如Java、.net、Ruby
Ø 它充当业务与技术间桥梁的角色。可以通过在纯英文文本中创建一个测试用例来实现这一点。
Ø 它允许在不知道任何代码的情况下编写测试脚本,它允许非程序员参与。
Ø 它以端到端测试框架为目的
Ø 由于简单的测试脚本架构,Cucumber提供了代码可重用性
1.3 Cucumber环境设置
在Ubuntu上部署Cucumber环境,语言是ruby,平台是Selenium。
关于Ruby的安装和环境变量,可以自行搜索教程,例如https://www.runoob.com/ruby/ruby-installation-unix.html
查看Ruby版本命令:ruby -v
1.4 Cucumber基本操作命令
cucumber features/user_login/user_login.feature -r features #加后面的-r features可以帮助程序找到对应的step_defintions文件并执行,因为cucumber有时候会找不到对应的rb文件
cucumber --i18n help #用来查看支持哪些语言
cucumber --i18n zh-CN #查看语言支持的关键字 zh-CN, en
cucumber -t @basic #打标签后运行的直接 -t
cucumber --tags @basic #标签, 运行以 --tags 运行
cucumber --tags @C6121429 SITE=REACT #在REACT环境执行用例@C6121429
cucumber -f progress #显示运行时的
cucumber --format progress # .表示此步通过了,F表示该步失败了,-表示该步跳过了。
1.5 Cucumber支持中文
feature文件头部加上#language: zh-CN
rb文件头部加上#encoding:utf-8