2014-01-27 42 views
1

目前,我使用cucumber.yml中的並行配置文件來加載特定於環境的文件,並使用hooks.rb來設置瀏覽器。我使用'parallel_cucumber特徵'運行我的測試。沒有多少在我hooks.rb文件:在多個瀏覽器中使用ruby + watir-webdriver + cucumber和parallel_tests gem運行測試

Before do 
    @browser = Watir::Browser.new :firefox 
end 

After do 
    @browser.close 
end 

的輪廓看起來是這樣的:

parallel: FIG_NEWTON_FILE=local.yml --no-source --color --format pretty 

有沒有辦法改變我的hooks.rb文件,使所有功能運行鍼對一組瀏覽器(firefox,chrome,safari)?可以通過命令行傳遞文件名或環境嗎?

回答

4

您肯定可以通過命令行傳遞環境名稱。看看我的env.rb文件:

case ENV['BROWSER'] 
    when 'ff', 'Firefox' 
    browser = Selenium::WebDriver.for :firefox 
    browser_name = 'Firefox' 
    when 'chrome' 
    browser = Selenium::WebDriver.for :chrome 
    browser_name = 'Chrome' 
    when 'debug' 
    debug_profile = Selenium::WebDriver::Firefox::Profile.new 
    debug_profile.add_extension "firebug-1.9.1-fx.xpi" 
    browser = Selenium::WebDriver.for :firefox, :profile => debug_profile 
    browser_name = 'Firefox (Firebug)' 
    when 'mobile' 
    mobile_profile = Selenium::WebDriver::Firefox::Profile.new 
    mobile_profile['general.useragent.override'] = "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) 
     AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 
     Mobile/1A535b Safari/419.3" 
    browser = Selenium::WebDriver.for :firefox, :profile => mobile_profile 
    browser_name = 'Mobile' 
    when 'headless' 
    headless_profile = Headless.new 
    headless_profile.start 
    browser = Selenium::WebDriver.for :firefox 
    browser_name = 'Firefox' 
    else 
    browser = Selenium::WebDriver.for :firefox 
    browser_name = 'Firefox' 
end 

if URLS[ENV['URL']].nil? 
    environment = 'dev' 
    url = 'http://' + URLS['dev'] 
    domain = URLS['dev'] 
else 
    environment = ENV['URL'].upcase 
    url = 'http://' + URLS[ENV['URL']] 
    domain = URLS[ENV['URL']] 
end 

if ENV['CLIENT'].nil? 
    client = 'user/password' 
else 
    client = ENV['CLIENT'] 
end 

puts "Browser  " + browser_name 
puts "URL   " + url 
puts "Environment: " + environment 
puts "Client:  " + client 
puts "Domain:  " + domain 

test_env = { :browser => browser, 
       :browser_name => browser_name, 
       :url => url, 
       :env => environment, 
       :client => client, 
       :login => nil, 
       :domain => domain } 

現在,當我運行黃瓜,我做調用環境:

黃瓜BROWSER = FF

+0

感謝惠特尼!我會嘗試瀏覽器。 –

相關問題