Ben,

Glad to hear the capybara-webkit headless solution worked! I'm sure it's
way faster too!

Next check out the *capybara-email* gem. It's super awesome for ensuring
your emails are being sent via your integration tests.

https://github.com/dockyard/capybara-email




Ryan Felton
816.591.6257
[email protected]
http://www.linkedin.com/in/ryanfelton


On Fri, Jun 2, 2017 at 12:51 PM, Ben Wanicur <[email protected]> wrote:

> Thanks Ryan and Alan for the tips.  I did spend time diving into the
> source code of the ruby gem.   Experimenting with several different
> versions of the firefox binary and the gem.  But as this is a client
> project, I did not want to spend too much time monkeying around with
> something my client could care less about. I tried to honor their existing
> setup, but it has become more clear to me that their test suite has not
> seen much love/attention for awhile.  After much time burnt, I opted to go
> with capybara-webkit, headless solution.  It works!  Thanks again.
>
> On Fri, Jun 2, 2017 at 9:01 AM Ryan Felton <[email protected]> wrote:
>
>> Ben,
>>
>> I wanted to check in see if you were able to get it to work?
>>
>>
>> Ryan Felton
>> 816.591.6257 <(816)%20591-6257>
>> [email protected]
>> http://www.linkedin.com/in/ryanfelton
>>
>>
>> On Thu, Jun 1, 2017 at 3:02 PM, Alan Da Costa <
>> [email protected]> wrote:
>>
>>> Hi Ben,
>>>
>>> Just a few thoughts.
>>>
>>> 1. Have you tried a newer version of the selenium-webdriver gem (if
>>> compatible)? I see several newer versions than 2.53.4
>>>
>>> ➥ gem search selenium-webdriver -ra | grep -e "^selenium-webdriver ("
>>>> selenium-webdriver (3.4.0, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.0, 3.0.8,
>>>> 3.0.7, 3.0.5, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.53.4, 2.53.3, 2.53.2,
>>>> 2.53.1, 2.53.0, 2.52.0, 2.51.0, 2.50.0, 2.49.0, 2.48.1, 2.48.0, 2.47.1,
>>>> 2.47.0, 2.46.2, 2.46.1, 2.45.0, 2.44.0, 2.43.0, 2.42.0, 2.41.0, 2.40.0,
>>>> 2.39.0, 2.38.0, 2.37.0, 2.35.1, 2.35.0, 2.34.0, 2.33.0, 2.32.1, 2.32.0,
>>>> 2.31.0, 2.30.0, 2.29.0, 2.27.2, 2.27.1, 2.27.0, 2.26.0, 2.25.0, 2.24.0,
>>>> 2.22.2, 2.22.1, 2.22.0, 2.21.2, 2.21.1, 2.21.0, 2.20.0, 2.19.0, 2.18.0,
>>>> 2.17.0, 2.16.0, 2.15.0, 2.14.0, 2.13.0, 2.12.2, 2.12.1, 2.12.0, 2.10.0,
>>>> 2.9.1, 2.9.0, 2.8.0, 2.7.0, 2.6.0, 2.5.0, 2.4.0, 2.3.2, 2.3.0, 2.2.0,
>>>> 2.1.0, 2.0.1, 2.0.0, 0.2.2, 0.2.1, 0.2.0, 0.1.4, 0.1.3, 0.1.2, 0.1.1,
>>>> 0.1.0, 0.0.29, 0.0.28, 0.0.27, 0.0.26, 0.0.25, 0.0.24, 0.0.23, 0.0.22,
>>>> 0.0.21, 0.0.20, 0.0.19, 0.0.18, 0.0.17, 0.0.16, 0.0.15, 0.0.14, 0.0.13,
>>>> 0.0.12, 0.0.11, 0.0.10, 0.0.9, 0.0.8, 0.0.7, 0.0.6, 0.0.5, 0.0.4, 0.0.3,
>>>> 0.0.2, 0.0.1)
>>>
>>>
>>> 2. Have you tried to check and possibly change what the
>>> selenium-webdriver gem is doing? Consider dumping the command arguments
>>> before it shells out to the firefox bin (assuming this is what it does). If
>>> you have access to the gem locally and want to open it in your editor, you
>>> can run:
>>>
>>> ➥ bundle open selenium-webdriver
>>>
>>>
>>> If you need to see where the source is and don't have direct access
>>> (e.g. running through a docker container):
>>>
>>> ➥ bundle show selenium-webdriver
>>>
>>>
>>> 3. My Firefox shows as version 53.0.3; a bit newer than your 47.0.1 .
>>> Assuming the "-foreground" option is being passed to the firefox-bin
>>> binary, I can verify it doesn't appear to be a valid argument.
>>>
>>> ➥ /Applications/Firefox.app/Contents/MacOS/firefox-bin --help
>>>> Usage: /Applications/Firefox.app/Contents/MacOS/firefox-bin [ options
>>>> ... ] [URL]
>>>>        where options include:
>>>>   --g-fatal-warnings Make all warnings fatal
>>>> Firefox options
>>>>   -h or --help       Print this message.
>>>>   -v or --version    Print Firefox version.
>>>>   -P <profile>       Start with <profile>.
>>>>   --profile <path>   Start with profile at <path>.
>>>>   --migration        Start with migration wizard.
>>>>   --ProfileManager   Start with ProfileManager.
>>>>   --no-remote        Do not accept or send remote commands; implies
>>>>                      --new-instance.
>>>>   --new-instance     Open new instance, not a new window in running
>>>> instance.
>>>>   --UILocale <locale> Start with <locale> resources as UI Locale.
>>>>   --safe-mode        Disables extensions and themes for this session.
>>>>   --browser          Open a browser window.
>>>>   --new-window <url> Open <url> in a new window.
>>>>   --new-tab <url>    Open <url> in a new tab.
>>>>   --private-window <url> Open <url> in a new private window.
>>>>   --preferences      Open Preferences dialog.
>>>>   --search <term>    Search <term> with your default search engine.
>>>>   --jsconsole        Open the Browser Console.
>>>>   --jsdebugger       Open the Browser Toolbox.
>>>>   --devtools         Open DevTools on initial load.
>>>>   --start-debugger-server [ws:][ <port> | <path> ] Start the debugger
>>>> server on
>>>>                      a TCP port or Unix domain socket path. Defaults to
>>>> TCP port
>>>>                      6000. Use WebSocket protocol if ws: prefix is
>>>> specified.
>>>>   --recording <file> Record drawing for a given URL.
>>>>   --recording-output <file> Specify destination file for a drawing
>>>> recording.
>>>>   --setDefaultBrowser Set this app as the default browser.
>>>
>>>
>>> Hope this helps,
>>>
>>> Alan
>>>
>>>
>>> On Tue, May 30, 2017 at 3:21 AM, Benjamin Wanicur <[email protected]>
>>> wrote:
>>>
>>>> Hi Everyone
>>>>
>>>> I've been stuck on trying to get rSpec / Capybara / Selenium working
>>>> together.  I'm getting a strange error message that is not producing many
>>>> google results :(
>>>>
>>>> Here I am trying to use Firefox 47.0.1 and selenium-wedriver 2.53.4
>>>>
>>>>
>>>> Relevant part of my Gemfile:
>>>>
>>>> group :test do
>>>>   gem 'database_cleaner'
>>>>   gem 'shoulda-matchers', github: 'thoughtbot/shoulda-matchers'
>>>>   gem 'rack_session_access'
>>>>   gem "capybara"
>>>>   gem 'capybara-screenshot'
>>>>   gem "launchy"
>>>>   gem 'selenium-webdriver', '2.53.4'
>>>>   gem 'simplecov'
>>>> end
>>>>
>>>>
>>>> Config from spec/rails_helper.rb:
>>>>
>>>> ## CAPYBARA CONFIG
>>>> Selenium::WebDriver::Firefox::Binary.path =
>>>> "/usr/local/bin/firefox47.0.1-bin"
>>>> Capybara.register_driver :selenium do |app|
>>>>   Capybara::Selenium::Driver.new(
>>>>     app,
>>>>     browser: :firefox,
>>>>     desired_capabilities: Selenium::WebDriver::Remote::
>>>> Capabilities.firefox(marionette: false)
>>>>   )
>>>> end
>>>> Capybara::Screenshot.prune_strategy = { keep: 10 }
>>>>
>>>>
>>>>
>>>> Sample feature test (stripped down):
>>>>
>>>> require "rails_helper"
>>>>
>>>> feature 'Blah blah' do
>>>>   background do
>>>>     visit '/'
>>>>   end
>>>>
>>>>   scenario 'blah blah blah', js: true do
>>>>     expect(page).to have_content('Foobar Company Name')
>>>>   end
>>>> end
>>>>
>>>>
>>>> Error Message:
>>>>
>>>>   An error occurred in an after hook
>>>>     Selenium::WebDriver::Error::WebDriverError: *unable to start
>>>> Firefox cleanly, args: ["-foreground"]*
>>>>     occurred at *******/.rvm/gems/ruby-2.3.3/
>>>> gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/firefox/binary.rb:97:in
>>>> `cope_with_mac_strangeness'
>>>>
>>>>
>>>> I've seen similar error messages online, but not with the failed
>>>> ["-foreground"] argument.  I've tried a variety of gem versions and/or
>>>> Firefox versions.
>>>>
>>>> --
>>>> --
>>>> SD Ruby mailing list
>>>> [email protected]
>>>> http://groups.google.com/group/sdruby
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "SD Ruby" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>> --
>>> SD Ruby mailing list
>>> [email protected]
>>> http://groups.google.com/group/sdruby
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "SD Ruby" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
>> --
>> SD Ruby mailing list
>> [email protected]
>> http://groups.google.com/group/sdruby
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "SD Ruby" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> --
> SD Ruby mailing list
> [email protected]
> http://groups.google.com/group/sdruby
> ---
> You received this message because you are subscribed to the Google Groups
> "SD Ruby" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby
--- 
You received this message because you are subscribed to the Google Groups "SD 
Ruby" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to