playwright-pytest icon indicating copy to clipboard operation
playwright-pytest copied to clipboard

Request: extending `browser_type_launch_args` to work with `request`

Open jamesbraza opened this issue 2 years ago • 0 comments

It would be cool if one can parameterize browser_type_launch_args using pytest.mark.parameterize's indirect=True flag with the request parameter like so:

import pytest


@pytest.fixture(scope="session")
def browser_type_launch_args(pytestconfig, request) -> dict:
    launch_options = {}
    if pytestconfig.getoption("--headed") or request.param.get("headed"):
        launch_options["headless"] = False
    ...
    return launch_options


@pytest.mark.parametrize(
    "browser_type_launch_args", [{"headed": True}], indirect=True
)
def test_browser_type_launch_args(browser_type_launch_args: dict) -> None:
    pass

This would enable in-source configuration (more readable), without having to pass args externally or via config file.

jamesbraza avatar Feb 05 '24 19:02 jamesbraza