I am quite new to Selenium. Currently i am using selenium driver for writing test cases in ruby on rails. In the application, I am required to login and Logout for each test cases. So, I exported each test cases from Selenium IDE to rails 3. I am required to use same browser session for multiple test cases. So I am calling Login test before required test case to be executed in a single ruby file. Is it possible to maintain browser session for consecutive next tests in rails 3 either with Selenium Client or Selenium Webdriver?
Share
I got a solution for this issue for Selenium Client/Webdriver in Ruby on Rails 3. To maintain a session from test script to another script, the only thing you need is session variable. Since I have written different Login script and this script is being called in different other script files, so from this another file I have to access the session variable from Login script.
To access variable from Login script, the code inside is being converted to module.
This is how it worked for me:
—-Start—–
——Login.rb—–
module ModuleName
def methodName
—-Write particular Login code required through selenium—#
@variable = SELENIUM::CLIENT:DRIVER.new \ #—Create browser instance and store in a variable —#
return @variable #–Return back the variable from this method
end
end
——File1.rb—–
require Login.rb #—Specify with path—#
include ModuleName
Class File < TestCase #–Extending resp. Test Class
def setup
@local = ModuleName.methodName #–Access Module’s method that will return session object.
end
def test_file
–Access this @local in rest of the code–#
end
end
—–End—-
This was the tweak to access variable from file1 to file2.
I hope this may help somebody………