Cucumber retry was a bad idea. #67

Closed
rtyler opened this Issue May 9, 2012 · 4 comments

Comments

Projects
None yet
2 participants
Contributor

rtyler commented May 9, 2012

Turns out, this was a generally bad thing and can cause all sorts of really funky issues when used for actual Scenarios instead of stupid mocked out ones in RSpec.

Instead of retrying the entire Scenario, we'll just be opinionated and make sure that Capybara will catch and retry individual actions if a Selenium::WebDriver::Errors::UnknownError occurs

@ghost ghost assigned rtyler May 9, 2012

Contributor

rtyler commented May 9, 2012

Starting work on this now.

(This message brought to you by Hub board)

rtyler added a commit to rtyler/sauce_ruby that referenced this issue May 9, 2012

Add the beginnings of a fully wrapped and retryable Capybara driver
In theory this should help with #67, but it's terribly painful to unit test
and I'm not sure I'll really know if this is working until I put it into production :-/

rtyler added a commit to rtyler/sauce_ruby that referenced this issue May 9, 2012

Add actual retry logic to #handle_retry
This will make #67 actually work, presuming the #base_find actually works
Contributor

santiycr commented May 9, 2012

I have to agree at this point. I prefer the gem to handle command retries as much as possible rather than full test retries. There's some situations where this won't be doable (like full Selenium halts), but for a lot of cases, retrying commands will be enough.

rtyler added a commit to rtyler/sauce_ruby that referenced this issue May 12, 2012

Stub out the remainder of the Capybara::Driver::Base API that will li…
…kely access Selenium

This might not be the comprehensive list, but it covers the APIs that are
covered by the Capybara::Driver::Selenium class

Fixes #67
Contributor

rtyler commented May 12, 2012

I think I have something working in my topic branch, which I will pull in after I do some testing with the changes combined with the Lookout Cucumber scenarios.

yay

Contributor

rtyler commented May 12, 2012

Interestingly enough, with my Capybara retry changes, it appears that the Sauce::Capybara::Driver class isn't passing off commands to the Sauce::Selenium2 object, but somehow is starting up "real" (i.e. local) Selenium code.

Crapo.

@rtyler rtyler closed this in 42d72a3 May 12, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment