Skip to content

Commit 4ac040c

Browse files
committed
Make 'browser_name' parameter indirect
1 parent f667863 commit 4ac040c

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

pytest-playwright-asyncio/pytest_playwright_asyncio/pytest_playwright.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def delete_output_dir(pytestconfig: Any) -> None:
9292
def pytest_generate_tests(metafunc: Any) -> None:
9393
if "browser_name" in metafunc.fixturenames:
9494
browsers = metafunc.config.option.browser or ["chromium"]
95-
metafunc.parametrize("browser_name", browsers, scope="session")
95+
metafunc.parametrize("browser_name", browsers, scope="session", indirect=True)
9696

9797

9898
def pytest_configure(config: Any) -> None:
@@ -389,7 +389,10 @@ def is_chromium(browser_name: str) -> bool:
389389

390390

391391
@pytest.fixture(scope="session")
392-
def browser_name(pytestconfig: Any) -> Optional[str]:
392+
def browser_name(pytestconfig: Any, request: pytest.FixtureRequest) -> Optional[str]:
393+
if hasattr(request, "param"):
394+
return request.param
395+
393396
# When using unittest.TestCase it won't use pytest_generate_tests
394397
# For that we still try to give the user a slightly less feature-rich experience
395398
browser_names = pytestconfig.getoption("--browser")

pytest-playwright/pytest_playwright/pytest_playwright.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ def delete_output_dir(pytestconfig: Any) -> None:
8989
def pytest_generate_tests(metafunc: Any) -> None:
9090
if "browser_name" in metafunc.fixturenames:
9191
browsers = metafunc.config.option.browser or ["chromium"]
92-
metafunc.parametrize("browser_name", browsers, scope="session")
92+
metafunc.parametrize("browser_name", browsers, scope="session", indirect=True)
9393

9494

9595
def pytest_configure(config: Any) -> None:
@@ -384,7 +384,10 @@ def is_chromium(browser_name: str) -> bool:
384384

385385

386386
@pytest.fixture(scope="session")
387-
def browser_name(pytestconfig: Any) -> Optional[str]:
387+
def browser_name(pytestconfig: Any, request: pytest.FixtureRequest) -> Optional[str]:
388+
if hasattr(request, "param"):
389+
return request.param
390+
388391
# When using unittest.TestCase it won't use pytest_generate_tests
389392
# For that we still try to give the user a slightly less feature-rich experience
390393
browser_names = pytestconfig.getoption("--browser")

0 commit comments

Comments
 (0)