`
dtrex
  • 浏览: 138187 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

cucumber安装及入门

 
阅读更多

行为驱动的测试,如果说你还不了解这个概念,那你应该先去网上查查,如果你知道行为驱动的测试,那么我们将讲讲这个cucumber的工具,一个用于行为测试的工具。

先说安装:
1.安装ruby,这个不细说了,网上找能找出一大堆来。
3.之后安装Devkit,命令如下:


ruby dk.rb init
ruby dk.rb install
4.下面安装所需要的gem包

gem update --system
gem install rspec --no-ri --no-rdoc
gem install win32console --no-ri --no-rdoc
gem install watir-webdriver --no-ri --no-rdoc
gem install cucumber --no-ri --no-rdoc

5.这样就安装成功了,可以用下面命令查看Cucumber的版本



cucumber --version

安装成功后我们写入一个简单的实例,加入我们有这样一个应用,这个应用是给购机充值的,我们测试充值是否成功
首先我们就会根据我们的测试行为进行描述,这样我们也会建立一个feature的文件,内容如下:

# language:zh-CN
功能:测试缴费
场景:测试正常缴费是否成功
     假如我要给138的号码充值100元钱
     当我充值成功
     那么我就可以发现我的余额多了100元钱
我们建立一个目录结构
+feature
     -test.feature
     +step_definitons
          -test_steps.rb


然后我们吧上面的描述保存到test.feature文件中,test_steps.rb先不建立,然后在跟目录执行

cucumber 
执行结果如下:



# language:zh-CN
功能: 测试缴费试缴费煞??

0 scenarios
0 steps
0m0.014s

D:\ai_workspace\automation\cucumber>cucumber features\test.feature
# language:zh-CN
功能: 测试缴费试缴费煞??

  场景: 测试正常缴费是否成功缴费是否成功否成功晒??        # features\test.featur
e:3
    假如我要给138的号码充值100元钱  # features\test.feature:4re:4
    当我充值成功              # features\test.feature:50m
    那么我就可以发现我的余额多了100元钱 # features\test.feature:6eature:6

1 scenario (1 undefined)
3 steps (3 undefined)
0m0.027s

You can implement step definitions for undefined steps with these snippets:

假如 /^我要给(\d+)的号码充值(\d+)元钱$/ do |arg1, arg2|
  pending # express the regexp above with the code you wish you had
end

当 /^我充值成功$/ do
  pending # express the regexp above with the code you wish you had
end

那么 /^我就可以发现我的余额多了(\d+)元钱$/ do |arg1|
  pending # express the regexp above with the code you wish you had
endyou wish you had
end

这里要我们实现相关的步骤,之后我们建立test_steps.rb文件代码如下:

# encoding: utf-8
begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
require 'cucumber/formatter/unicode'
$:.unshift(File.dirname(__FILE__) + '/../../lib') 
#require 'calculator'

Before do
end

After do
end

假如 /^我要给(\d+)的号码充值(\d+)元钱$/ do |arg1, arg2|
  puts "执行了对#{arg1}的查询"
  puts "然后在充值选择框中写入了#{arg2}元钱"
end
当 /^我充值成功$/ do
  puts "我单击的充值按钮"
end
那么 /^我就可以发现我的余额多了(\d+)元钱$/ do |arg1|
  puts "弹出了我成功提交的提示窗"
  puts "我查询数据库发现,充值成功了"
end
之后我们再运行cucumber

就会看到正确执行了,结果如下:

# language:zh-CN
功能: 测试缴费试缴费煞??

  场景: 测试正常缴费是否成功缴费是否成功否成功晒??        # features\test.featur
e:3
    假如我要给138的号码充值100元钱  # features/step_definitons/calculator_steps.
rb:14b:14
      执行了对138的查询檠?[0m0m
      然后在充值选择框中写入了100元钱肓?00元钱
    当我充值成功              # features/step_definitons/calculator_steps.rb:180
m
      我单击的充值按钮按钮0m
    那么我就可以发现我的余额多了100元钱 # features/step_definitons/calculator_st
eps.rb:21ps.rb:21
      弹出了我成功提交的提示窗的提示窗
      我查询数据库发现,充值成功了充值成功了?[0mm

1 scenario (1 passed)
3 steps (3 passed)
0m0.050s

是不是感觉很酷啊,很多具体的实现还要去看具体的帮助文档。这里只做简单的介绍了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics