# -*- coding: utf-8 -*- import os import sys current_file_path = os.path.abspath(__file__) project_root = os.path.abspath(os.path.join(os.path.dirname(current_file_path), '../../../..')) if project_root not in sys.path: sys.path.insert(0, project_root) try: import allure_pytest.listener except ImportError: allure_pytest = None def _allure_test_fixtures_compatible(item): fixturemanager = item.session._fixturemanager fixturedefs = [] if hasattr(item, "_request") and hasattr(item._request, "fixturenames"): for name in item._request.fixturenames: try: fixturedefs_pytest = fixturemanager.getfixturedefs(name, item) except AttributeError: fixturedefs_pytest = fixturemanager.getfixturedefs(name, item.nodeid) if fixturedefs_pytest: fixturedefs.extend(fixturedefs_pytest) return fixturedefs if allure_pytest is not None: allure_pytest.listener._test_fixtures = _allure_test_fixtures_compatible