cucumber安装及入门
先说安装:1.安装ruby,这个不细说了,网上找能找出一大堆来。2.之后下载DevKit-tdm-32-4.5.1-20101214-1400-sfx.exe,解压3.之后安装Devkit,命令如下:
ruby dk.rb init
ruby dk.rb install4.下面安装所需要的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-8begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; endrequire 'cucumber/formatter/unicode'$:.unshift(File.dirname(__FILE__) + '/../../lib') #require 'calculator'Before doendAfter doend假如 /^我要给(\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.feature:3 假如我要给138的号码充值100元钱 # features/step_definitons/calculator_steps.rb:14b:14 执行了对138的查询檠?[0m0m 然后在充值选择框中写入了100元钱肓?00元钱 当我充值成功 # features/step_definitons/calculator_steps.rb:180m 我单击的充值按钮按钮0m 那么我就可以发现我的余额多了100元钱 # features/step_definitons/calculator_steps.rb:21ps.rb:21 弹出了我成功提交的提示窗的提示窗 我查询数据库发现,充值成功了充值成功了?[0mm1 scenario (1 passed)3 steps (3 passed)0m0.050s
是不是感觉很酷啊,很多具体的实现还要去看具体的帮助文档。这里只做简单的介绍了。