cucumber介绍及简单使用

1、cucumber介绍

  cucumber是一种可以使用文本描述语言来执行自动测试用例的工具,使用的语言叫做Gherkin .
  Gherkin用于描述软件的行为而不需要了解具体的实现,的使用主要有两个目的文档和自动测试用例(我们希望能够和手工测试用例也统一)。 Gherkin支持超过40种语言,包括英文、中文。 Gherkin可以在任何地方新增注释,注释以#开头,每一个文件都是以.feature结尾,在feature文件中输入功能描述、场景、步骤,当执行 这个功能时每一个步骤都需要编写ruby代码块来实现具体的功能当前cucumber支持多种语言,除了ruby还可以使用java、javascript来编写步骤层

2、Features介绍

  feature(功能),每一个feature文件都要开始于Feature(功能),Feature之后的描述可以随便写,直到出现Scenario(场景),一个feature中可以有多个 Scenario,每个Scenario包含(step)步骤列表,步骤使用Given、When、Then、But、And这些关键词,cucumber对这些关键词的处理是一样的,但是我们在使用的时候需要按照场景区分。

3、Step definitions介绍

  Cucumber中定义的每一个step(步骤)都需要有一个step definition对应,默认的话是使用Ruby来编写定义的脚本,支持通过正则表达式从step中传递参数。

4、Given When then(假如 当 那么)

  Cucumber的步骤中会包含Given、When、then这些词组,cucumber本身在技术实现上不区分这三个词组,但是在使用上推荐按照词组的意思来使用。
  Given-用例开始执行前的一个前置条件,类似与编写代码setup中的一些步骤
  When-用例开始执行的一些关键操作步骤,类似点击元素等
  Then-观察结果,就是平时用例中的验证步骤
  And-一个步骤中如果存在多个Given操作,后面的Given可以用And替代
  But-一个步骤中如果存在多个Then操作,第二个开始后面的Then可以用But替代

5、Cucumber使用

Demo:
1、新建一个文件夹,文件名必须为:features
2、再新建两个文件夹,建议为:feature_library(描述语言) step_definitions(步骤)…
3、在feature_library文件夹中新建文件add.feature(文件名随意)

中文最好在前面加# language: zh-CN

# language:zh-CN
@test
功能: add

  @test1
  场景: 1+1=2
    假如 我有一个数<1>
    而且 你也有一个数<1>
    当 我们相加

4、在step_definitions文件夹中新建文件comm_step.rb(文件名随意)

Given /^我有一个数<(.+)>$/ do |addend|
  @addend=addend
end

When /^你也有一个数<(.+)>$/ do |augend|
  @augend=augend
end

When /^我们相加$/ do
  sum=@addend+@augend
  p sum
end

5、 执行编写的脚本
  在features文件夹的同一目录下运行cucumber命令,则会自动查找features文件夹下的所有.feature结尾的文件并执行

6、按照tag执行
  使用cucumber --tags @test 则执行test功能下的所有场景
  使用cucumber --tags @test1 则执行test1这个场景

你可能感兴趣的:(ruby+cucumber)