Configuration Management using YAML file for Watir/Selenium web-driver related frameworks

Requirement:

In watir/selenium webdriver related automation framework, how can we run the same script in multiple environments.

Code:

config.yml:

Beta:
url: "beta.google.com"

Gamma:
url: "gamma.google.com"

Prod:
url: "google.com"

Code.rb

require 'rubygems'
require 'yaml'
require 'watir-webdriver'
$env= ARGV[0]
config = YAML.load_file("config.yml")
$browser=Watir::Browser.new :ie
puts "Navigating to #{config[$env]["url"]}"
$browser.goto("#{config[$env]["url"]}")

Output:

in CMD PROMPT>ruby code.rb Beta

Navigating to beta.google.com

in CMD PROMPT>ruby code.rb Prod

Navigating to google.com

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s