Browser Support

behave-webdriver is designed so that you can use any of the webdriver classes you would normally use with Selenium, e.g. Chrome, Firefox, Remote, etc… However, not all browsers were made equal and attempting to get identical behavior across browsers is… complicated, if not impossible.

This document will aim to describe the status of support with the various webdrivers supported by Selenium. Where there are known issues or quirks related to this step library, there will be an effort to document them here, too. Be sure to also checkout the github issues and projects. browser-specific issues should be tagged accordingly.

More specifics may be revealed in the behave-webdriver API Reference and in the source. The ecosystem around selenium/webdrivers is huge. This is not a repository or body of knowledge for all driver-related issues; just the ones that most directly affect this library.

Unless otherwise noted, we are referring to the latest stable release of Selenium and each respective browser and driver. Keep in mind, this documentation may not necessarily be up-to-date with very recent releases.

Firefox (beta)

Firefox is officially supported as of v0.1.1

Known issues

  • submit on form elements is implemented by a (Selenium) JS shim and will not block for page load. Clicking the form button should block properly, however.
  • support for window handles is somewhat problematic
  • clicking elements requires they are in the viewport (we compensate for this by scrolling to an element before any click)
  • moving to an element with an offset that is bigger than the viewport is not (yet) supported
  • slower than Chrome

Workarounds/Shims

Shims and other workarounds for some known issues are implemented in the Firefox class.

See behave-webdriver API Reference for more details.

Ie

We have some preliminary support for Internet Explorer. It is tested in our appveyor CI build.

Safari

We have some preliminary support for Safari on OSX/Mac OS. It is tested as part of our Travis CI build (failures currently allowed).

PhantomJS

Danger

Selenium support for PhantomJS has been deprecated and the PhantomJS development has been suspended. As such, users are recommended to NOT use PhantomJS to begin with.

PhantomJS is a low priority (see above). Users should expect issues with PhantomJS when using modern versions of selenium, and

Known issues

  • No support for alerts/modals
  • Cookies are problematic (cookies must have domain (and expiry?); setting cookies for localdomain not supported)
  • Memory-hungry
  • Unsupported (see above)

Remote

Remote is untested at this time.

Edge

Edge is untested at this time.

Opera

Opera is untested at this time.

BlackBerry

BlackBerry is untested at this time.

Android

Android is untested at this time.