New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Builds failing in Travis-CI with "Missing marionetteProtocol field in handshake" #85
Comments
I just started to hit this problem, but only on OS X. Same code works on Linux on Travis fine and I can run the code locally all ok without problem. Relevant chunk of the logs:
|
That’s odd. Can you provide a full Gecko log after setting the preference |
Here's a trace with
|
@azakus Sorry I forgot something: Can you set the environment variable RUST_LOG to "debug" also? |
Ok, have
|
Ok... Travis CI appears to be running a really old version of Firefox as a default. THey are running 31ESR "Our 64-bit Linux VMs include a recent version of Firefox, currently 31.0esr." |
I will raise a Travis CI Bug to get this updated |
Ah, so you can request the Firefox add-on which will update firefox, On Wed, 15 Jun 2016, 17:02 David Burns, notifications@github.com wrote:
|
@AutomatedTester I was actually using Firefox 47 on travis with the I'll try again with 48. |
This build using Firefox 48 beta has the same trace: https://travis-ci.org/Polymer/polymer/builds/137863850 |
Hmm, build seems to be working with Firefox 50. https://travis-ci.org/Polymer/polymer/builds/137868774 Is geckodriver scanning the system for the firefox executable using |
GeckoDriver doesnt currently look at the OS and determine what the browser path is. We rely on the client to pass that through so perhaps the java client from @SeleniumHQ is not doing that properly |
Closing this issue since the used Firefox version is too old. Use 48+ or Nightly (preferable as it has the most bug fixes). |
Looks like Travis provides an old Firefox version by default, which causes a mozilla/geckodriver#85 error
* Add the initial stub for automated tests * Configure the Sause Labs travis add-on Sause Labs provide the Selenium testing as a service * Add the sharing test stubs * Add the bug test stubs * Add the `integration-tests` task And make the `test` task run it together with codestyle checking * Implement the `common operations` tests * Add support for mocking the counter method This solution is quite dirty, but I don’t know a better way to do this which is cheap enough. * Implement the counter mocking Reasoning: #73 (comment) * Replace initialization timeout and test with Selenium’s `wait` The test is unnecessary because `before` will fail anyway if the Likely isn’t properly initialized. The `waitUntilInitialized` parameter will be actually used in the future commits. * Define the `configuration` test case * Improve the grammar * Fix getLikely() not using the passed `url` * Split the first test suite, generate tests, unify timeouts * Split the first test suite into two ones because it actually consists of two different test groups * Generate the tests for the newly created test suites instead of repeating the code * Declare the single timeout of 20 s instead of specifying it here and there * Add a test for #67 * Create the history test suite * Configure Travis to use Chrome for Selenium tests * Rewrite expectClickToOpen() * Remove the unnecessary Promise nesting * Close the dialog and switch back to the main window before comparing the URL * Make the method work with Firefox * Switch to Firefox instead of Chrome This is done to make the Travis configuration easier + keep the container-based environment (https://docs.travis-ci.com/user/ci-environment/#Virtualization-environments) * Update the codestyle - Fix the ESLint errors. - Re-configure two too tight rules: - `no-else-return` is rather bad (https://blog.mozilla.org/nnethercote/2009/08/31/no-else-after-return-considered-harmful/ expresses my ideas) - it’s OK to define the functions after their usage, so `no-use-before-define` now allows it. * Specify the Firefox version in .travis.yml Looks like Travis provides an old Firefox version by default, which causes a mozilla/geckodriver#85 error * Decrease the Firefox version 50.0 is not yet available to download
Seems `apt_packages` way cause problem ``` Missing 'marionetteProtocol' field in handshake ``` See mozilla/geckodriver#85
Seems `apt_packages` way cause problem ``` Missing 'marionetteProtocol' field in handshake ``` See mozilla/geckodriver#85
It seems that for the selenium webdriver to work it requires gecko that requires firefox that requires a xserver. Now we install firefox, then gecko, then start a xserver before the tests. References: mozilla/geckodriver#85 travis-ci/travis-ci#4649 NikolayRys/Likely@cc1fe56
This issue has been automatically locked since there has not been any recent activity after it was closed. If you have run into an issue you think is related, please open a new issue. |
I'm trying to adapt my current testing workflow to use geckodriver, and I'm hitting what seems to be a unique problem.
During the handshake, it looks like this line is throwing an exception: https://github.com/mozilla/geckodriver/blob/master/src/marionette.rs#L1087, but only on Travis-CI. Local testing on OS X and Ubuntu 14.04 works as expected. The Selenium version is 2.53.0.
The only leads I have seem to be that Xvfb is not enabling RANDR, but I'm not sure if that's related. Do you have any thoughts on what might be the issue?
Happy to help with a reproducible build.
Here's an abridged log from my travis run:
The text was updated successfully, but these errors were encountered: