您好,登錄后才能下訂單哦!
最近項目上想使用可視化測試的黑盒測試,為此我去再學習了ruby界中的出名的cucumber測試框架,以前只是大約摸了一下,并沒有深究,這次要求是測試中要可視化每個特征功能(Feature)按我所設(shè)定的情景(Scenario)跑一次,而現(xiàn)在我主要實現(xiàn)了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
項目環(huán)境配置
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 #設(shè)置javascript服務 Capybara.register_driver :rack_test do |app| Capybara::Selenium::Driver.new(app,:browser => :chrome)#設(shè)置閱覽器默認使用firefox end ActionController::Base.allow_rescue = false
下面是一些語法介紹主要是capybara頁面操作
首先介紹一個技巧在ruby中可以這樣打印類所有的方法
puts capybara.methods
像上面就會打印所有capybara的方法
下面就是capybara的一些語法
page.current_url #獲取當前的url
還有關(guān)于windows下關(guān)于找不到firefox閱覽器設(shè)置方法
Selenium::WebDriver::Firefox::Binary.path='C:\Program Files (x86)\Mozilla Firefox\firefox.exe'
這是當selenium找不到閱覽器時候使用的
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。