- Added support for Appium
- Deprecate support for PhantomJS
pytest-selenium
now requires pytest 3.6 or later.- Fixed issue with TestingBot local tunnel.
- Added support for pytest 4.1.
- Project now uses pre-commit and black for development.
- Fixed html report embedded video from Testingbot.
- Fixed more (
get_markers
) deprecations on pytest 3.6 and later. - Fixed a deprecation warning (
yield_fixture
) on pytest 3.0 and later. - Move Testingbot credentials to capabilities instead of URL.
- Move BrowserStack credentials to capabilities instead of URL.
- Move CrossBrowserTesting credentials to capabilities instead of URL.
- Handle Sauce Labs W3C compliance using
sauce_options
. - Fix bug with test reporting when using cloud providers.
- Fixed a deprecation warning (
log_path
) on Selenium 3.14 and later. - Fixed a deprecation warning (
get_markers
) on pytest 3.6 and later. - Move Sauce Labs credentials to capabilities instead of URL.
- Thanks to @RonnyPfannschmidt for pointing out the vulnerability
- Use https for Sauce Labs URLs.
- Thanks to @stephendonner for the PR
- Support W3C compliant capabilities with Sauce Labs.
- Thanks to @BeyondEvil for the PR
- Support Sauce Labs token authentication for job URLs.
- Thanks to @BeyondEvil for the PR
- Merge browser options within capabilities when using a remote driver.
- Accept
SAUCE_USERNAME
andSAUCE_ACCESS_KEY
as alternate environment variables for Sauce Labs credentials.- Thanks to @BeyondEvil for the PR
- Include driver logs in the HTML report when the driver fails to start.
- Thanks to @jrbenny35 for the PR
- Encode driver log as UTF-8.
- Thanks to @MuckT for the PR
- Allow
--host
and--port
command line arguments to be specified before the--driver
argument.- Thanks to @micheletest for the report and to @BeyondEvil for the PR
- Make
--driver
command line option case insensitive.- Thanks to @BeyondEvil for the PR
- Fixed a deprecation warning on Selenium 3.8 and later.
- Thanks to @D3X for the PR
- Remove superfluous
version
andplatform
default capabilities from the remote driver due to issues with the latest Selenium server release. - Set default capabilities based on the selected driver or
browserName
capability if using the remote driver. - Filter out unrelated capabilities from browser options to allow options fixtures to be function scoped without overriding such capabilities.
- Fix exception when pytest-html plugin is not available.
- Thanks to @wlach for the PR
- Add Chrome and Firefox options to capabilities for remote servers.
- Avoid unnecessarily sending Firefox profile to remote servers.
- Add
firefox_arguments
andfirefox_preferences
markers to specify arguments and preferences to pass to thefirefox_options
fixture. Runpytest --markers
for details. - Restore host and port in HTML report when using defaults.
- Warn in pytest header when the sensitive URL matches the base URL.
- Thanks to @Jenselme for the PR
- Use a separate log file for each driver instance.
- Add alternate credentials environment variables for Jenkins declarative
pipelines.
- Thanks to @BeyondEvil for the PR
- Deprecate
--firefox-extension
,--firefox-path
,--firefox-preference
, and--firefox-profile
command line options. The preferred way to set these is now through thefirefox_options
fixture. - Only create a Firefox profile if
--firefox-extension
,--firefox-preference
, or--firefox-profile
is specified. - Add
chrome_options
fixture for configuring Google Chrome. - Add
driver_args
fixture for adding command line arguments to the driver services. Currently only used by Chrome and PhantomJS. - Add support for TestingBot local tunnel via
--host
and--port
command line options.- Thanks to @micheletest for the report and to @BeyondEvil for the PR
- Add support for Microsoft Edge.
- Thanks to @birdsarah for the PR
- Add driver logs to HTML report.
- Thanks to @jrbenny35 for the PR
- Add capabilities to metadata during
pytest_configure
hook instead of thesession_capabilities
fixture to make them available to other plugins earlier.
- Add driver and session capabilities to metadata provided by pytest-metadata
- BREAKING CHANGE: Moved cloud testing provider credentials into separate
files for improved security.
- If you are using the environment variables for specifying cloud testing provider credentials, then you will not be affected.
- If you are storing credentials from any of the cloud testing providers in one of the default configuration files then they will no longer be used. These files are often checked into source code repositories, so it was previously very easy to accidentally expose your credentials.
- Each cloud provider now has their own configuration file, such as
.browserstack
,.crossbrowsertesting
,.saucelabs
,.testingbot
and these can be located in the working directory or in the user's home directory. This provides a convenient way to set up these files globally, and override them for individual projects. - To migrate, check
pytest.ini
,tox.ini
, andsetup.cfg
for any keys starting withbrowserstack_
,crossbrowsertesting_
,saucelabs_
, ortestingbot_
. If you find any, create a new configuration file for the appropriate cloud testing provider with your credentials, and remove the entries from the original file. - The configuration keys can differ between cloud testing providers, so please check the :doc:`user_guide` for details.
- See #60 for for original issue and related patch.
- Introduced a
firefox_options
fixture. - Switched to Firefox options for speciying binary and profile.
- Added support for CrossBrowserTesting.
- Fix issues with Internet Explorer driver.
- Replaced driver fixtures with generic
driver_class
fixture. - Introduced a
driver_kwargs
fixture.
- Added support for Safari.
- Made
firefox_path
a session scoped fixture.
- Moved retrieval of Firefox path to
firefox_path
fixture. - Added driver and sensitive URL to report header.
- Moved base URL implementation to the pytest-base-url plugin.
- Fixed regression with Chrome, PhantomJS, and Internet Explorer drivers.
- Added support for Python 3.
- Introduced a new capabilities fixture to combine session and marker capabilities.
- BREAKING CHANGE: Renamed session scoped capabilities fixture to
session_capabilities.
- If you have any
capabilities
fixture overrides, they will need to be renamed tosession_capabilities
.
- If you have any
- Move driver implementations into fixtures and plugins.
- Consistently stash the base URL in the configuration options.
- Drop support for pytest 2.6.
- Avoid deprecation warnings in pytest 2.8.
- Report warnings when gathering debug fails. (#40)
- Official release
- Assign an initial value to log_types. (#38)
- Use strings for HTML to support serialization when running multiple processes.
- Catch exception if driver has not implemented log types.
- Allow the sensitive URL regex to be specified in a configuration file.
- Added support for non ASCII characters in log files. (#33)
- Added support for excluding any type of debug.
- Initial beta