【Cucumber】 第一章 Cucumber入门

上一篇 / 下一篇  2015-04-08 16:03:31 / 个人分类:接口测试

一、简介  
  • Cucumber 是一个能够理解用普通语言 描述的测试用例的行为驱动开发(BDD)的自动化测试工具,用Ruby编写,支持Java和·Net等多种开发语言。
  • Cucumber可以让人们用近似自然的语言去描述Feature和场景,根据Feature驱动开发。
  • 用作软件技术人员和非技术之间验收测试的桥梁。
  • 它是一个命令行工具。运行后,会执行features中的内容。feature中的step会调用step definitions(Ruby代码)
  • 可以用标签来组织场景
  • 支持40多种语言
  • 高质量集成Ruby
二、Cucumber三大组成
Features、Step_definitions、Cucumber command。

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

工作原理:


三、Features
语法规则:基于Gherkin。支持语言:# language: en     (zh-CN)等
Features文件必须以.features命名。
包含title,多个scenarios,每个scenario包含多个step。
Step定义必须以关键字Given,When,Then,And开始。



四、Step_definitions
根据feature文件中定义的step编写对应的测试代码。

五、Cucumber command
运行:*.feature文件。cucumber会分析feature文件中定义的step,然后去step definitions寻找相匹配的step,执行step中的代码。
运行结果以html的形式保存,fail的情况查看对应log日志

六、Cucumber的开发过程
a.    创建feature文件,包括feature,scenariosstep
b.   创建step_definitions,即RUBY代码并实现。如果只有step,没有step definitions,会报undefined错。Ruby写法:Given /^the input "([^"]*)"$/ do |arg1|。运行feature,控制台中会输出RUBY的实现方法,只要实现step_definitions即可。
c. cucumber --format progress。格式化输出。可修改为htmlxml等格式输出。
添加断言: 
一个场景失败,Cucumber将此场景标记失败,转去执行下一场景。
一个step失败,会跳过这个scenario的其余step,从而终止这个scenario。

6.    Gherkin方法:

a.    关键字:

Background

• Scenario

• Given

• When

• Then

• And

• But

• *

• Scenario Outline

• Examples

2. 编译feature文件:$ cucumber test.feature --dry-run

3. 日志说明:黄色-未定义step。绿色-通过。红色-报错。

7.    Scenario:第个功能约有五到二十个场景。 

8.    Cucumber集成Java资料:

https://github.com/cucumber/cucumber-jvm


TAG: cucumber

yuhouxinqing的个人空间 引用 删除 yuhouxinqing   /   2017-08-01 18:05:30
你好。 Feature 文件里Tag的作用是什么,谢谢!
conglihui的个人空间 引用 删除 conglihui   /   2016-03-04 13:42:20
5
 

评分:0

我来说两句

Open Toolbar