I might have not asked this correctly in previous post… and most
definitely
weren’t clear! let’s try again
I can’t seem to find any examples of using a rake variable in the
Cucumber
task. What I want to do is run my cucumber test using cruisecontrol and
setting a variable in script to either to start Firefox or Internet
Explorer
with selenium. Which leads me to the question, how do I access this
browser_type variable in my_steps.rb file?
Rakefile
Cucumber::Rake::Task.new do |t|
profile = ENV[‘PROFILE’] || ‘default’
browser_type = ENV[‘BROWSER’] || ‘*chrome’
t.cucumber_opts = “–profile #{profile}”
end
my_steps.rb
Before do
browser = Selenium::SeleniumDriver.new(server_host, server_port,
browser_type, root_url, time_out)
end
Let me guess, it’s very easy… but I am still new to the Ruby World
I suggest you look up ENV[‘BROWSER’] (and anything else you might need
to configure Selenium) directly in your my_steps.rb file
(I also suggest you move Before blocks to features/support/env.rb)
Rakefile
Cucumber::Rake::Task.new do |t|
profile = ENV[‘PROFILE’] || ‘default’
t.cucumber_opts = “–profile #{profile}”
end
features/support/env.rb
Before do
browser_type = ENV[‘BROWSER’] || ‘*chrome’
browser = Selenium::SeleniumDriver.new(server_host, server_port,
browser_type, root_url, time_out)
end
If you want to rely less on environment variables, you can make
yourself a YAML file with settings (e.g. selenium.yml) consisting of a
Hash of Hash: