diff --git a/AUTHORS.rst b/AUTHORS.rst index e109aa9..d693b7c 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -12,6 +12,7 @@ These people have contributed to `pytest-splinter`, in alphabetical order: * `Daniel Hahler `_ * `Laurence Rowe `_ * `Marco Buccini `_ +* `Oleg Pidsadnyi `_ * `Peter Lauri `_ * `Suresh V `_ * `Tomáš Ehrlich `_ diff --git a/CHANGES.rst b/CHANGES.rst index 09a7883..a1961c2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,6 +1,12 @@ Changelog ========= +1.7.2 +----- + +- fixed taking a screenshot with pytest>=2.9.0 (olegpidsadnyi) + + 1.7.1 ----- diff --git a/pytest_splinter/__init__.py b/pytest_splinter/__init__.py index ef8b794..47636bb 100644 --- a/pytest_splinter/__init__.py +++ b/pytest_splinter/__init__.py @@ -1,2 +1,2 @@ """pytest-splinter package.""" -__version__ = '1.7.1' +__version__ = '1.7.2' diff --git a/pytest_splinter/plugin.py b/pytest_splinter/plugin.py index b400c22..34d0a9f 100644 --- a/pytest_splinter/plugin.py +++ b/pytest_splinter/plugin.py @@ -9,6 +9,7 @@ from httplib import HTTPException except ImportError: from http.client import HTTPException +import logging import mimetypes # pragma: no cover import os.path import re @@ -26,7 +27,7 @@ from .splinter_patches import patch_webdriverelement # pragma: no cover from .decorators import with_fixtures -import logging + LOGGER = logging.getLogger(__name__) @@ -387,6 +388,8 @@ def get_browser(splinter_webdriver, retry_count=3): def prepare_browser(request, parent): splinter_webdriver = request.getfuncargvalue('splinter_webdriver') + splinter_session_scoped_browser = request.getfuncargvalue('splinter_session_scoped_browser') + splinter_close_browser = request.getfuncargvalue('splinter_close_browser') browser_key = id(parent) browser = browser_pool.get(browser_key) if not splinter_session_scoped_browser: @@ -438,7 +441,12 @@ def browser_screenshot( browser = value if splinter_make_screenshot_on_failure and request.node.splinter_failure: slaveoutput = getattr(request.config, 'slaveoutput', None) - names = junitxml.mangle_testnames(request.node.nodeid.split("::")) + try: + names = junitxml.mangle_testnames(request.node.nodeid.split("::")) + except AttributeError: + # pytest>=2.9.0 + names = junitxml.mangle_test_address(request.node.nodeid) + classname = '.'.join(names[:-1]) screenshot_dir = os.path.join(splinter_screenshot_dir, classname) screenshot_file_name_format = '{0}-{1}.{{format}}'.format( diff --git a/requirements-testing.txt b/requirements-testing.txt index b257b0a..d5d0420 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -3,4 +3,4 @@ pytest-cov pytest-localserver pylama pylama_pylint -astroid==1.3.6 +astroid>=1.4.5