Reputation: 11
beginner is here with a simple question.
Using Ruby with Selenium web-driver. Just wanted to make my life easier to make a reusable class that will return me a different webdrivers. Tried the below, but it did not work when I tried to call.
def Sel_drive
def ff_drive
return Selenium::WebDriver.for :firefox
end
def ie_drive
return Selenium::WebDriver.for :ie
end
def chrome_drive
return Selenium::WebDriver.for :chrome
end
def name_of_browser(browser_name)
if browser_name == 'Firefox'
driver = ff_drive
end
elsif browser_name == 'IE'
driver = ie_drive
else
browser_name == 'Chrome'
driver = chrome_drive
end
Upvotes: 1
Views: 172
Reputation: 9029
You can use case
to return the correct webdriver.
def Sel_drive(drive_type)
case drive_type
when "firefox"
return Selenium::WebDriver.for :firefox
when "ie"
return Selenium::WebDriver.for :ie
when "chrome"
return Selenium::WebDriver.for :chrome
else
puts "Not a valid driver"
end
end
driver = Sel_drive("firefox")
Upvotes: 1