On 1/3/09 8:36 PM, Luke Melia wrote:
On Jan 3, 2009, at 9:12 PM, Ben Mabey wrote:
The downside with this approach is that it only works with the rails
webrat adapter. One solution which I have been meaning to do is to
create a UsersSessionManager. The manager would be responsible for
logging in all the various roles you use in your app with different
webrat sessions (and then caching them.) You could then swap out
which session you would be using in your steps...
So you could then do something like:
logged_in_as 'Admin' do |session|
session.click_link 'Foo'
...
end
Or..
Given /^I am logged in as an '(.+)'$/ |role|
login_as role
end
The 'login_as' would swap out the session that the World object uses
so the next steps would be using the appropriate session.
WDYT?
In general I like the idea, Ben. At weplay, we use webrat to drive
rails and selenium, and logged_in_as method has the following
implementation in the Selenium world:
def logged_in_as(user)
visit login_for_test_path(user)
end
where login_for_test_path is is a named route defined only for the
selenium environment that provides a "quick" login of a given user.
Would the solution you're thinking of help with this? I'm not sure how
you would "cache" a selenium session.
I'm by no means a Selenium expert so I may be making some incorrect
assumptions. I thought that it was possible with Selenium to have
different sessions open concurrently for the same selenium server. (i.e.
have more than one SeleniumDriver/browser instance running against the
same server but with different session ids.) Is that not possible?
-Ben
--
Luke Melia
l...@lukemelia.com
http://www.lukemelia.com/
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users