[rspec-users] Cucumber speed tips
Luke Melia
luke at lukemelia.com
Sat Jan 3 22:36:54 EST 2009
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.
--
Luke Melia
luke at lukemelia.com
http://www.lukemelia.com/
More information about the rspec-users
mailing list