最近项目上想使用可视化测试的黑盒测试,为此我去再学习了ruby界中的出名的cucumber测试框架,以前只是大约摸了一下,并没有深究,这次要求是测试中要可视化每个特征功能(Feature)按我所设定的情景(Scenario)跑一次,而现在我主要实现了web自动化测试,(GUI的还在研究这个框架的可行性),
首先介绍下我使用的GEM如下所示
group :development, :test do
gem "selenium-webdriver"
gem "database_cleaner"
gem "rspec-rails"
gem "rspec", '~>2.11.0'
gem "cucumber-rails"
gem "webrat"
gem "rspec-mocks"
gem "spork", '~> 1.0rc'
gem "factory_girl", '~>2.6.4'
gem "factory_girl_rails", '~>1.7.0'
gem "capybara" ,"2.1.0"
gem "poltergeist","1.3.0"
end
项目环境配置
genertor cucumber install --capybara --spork
在生成的env.rb中这样配置
require 'rubygems'
require 'cucumber/rails'
require 'capybara/rails'
require 'capybara/cucumber'
require 'capybara/dsl'
require 'capybara/session'
require 'cucumber/rspec/doubles'
require 'database_cleaner/cucumber'
require 'selenium-webdriver'
require 'database_cleaner'
require 'database_cleaner/cucumber'
begin
DatabaseCleaner.strategy = nil
#:transaction
rescue NameError
raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
end
Capybara.javascript_driver = :selenium #设置javascript服务
Capybara.register_driver :rack_test do |app|
Capybara::Selenium::Driver.new(app,:browser => :chrome)#设置阅览器默认使用firefox
end
ActionController::Base.allow_rescue = false
下面是一些语法介绍主要是capybara页面操作
首先介绍一个技巧在ruby中可以这样打印类所有的方法
puts capybara.methods
像上面就会打印所有capybara的方法
下面就是capybara的一些语法
page.current_url #获取当前的url
还有关于windows下关于找不到firefox阅览器设置方法
Selenium::WebDriver::Firefox::Binary.path='C:\Program Files (x86)\Mozilla Firefox\firefox.exe'
这是当selenium找不到阅览器时候使用的
转载于:https://blog.51cto.com/jacksongblack/1219582