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

Make 'browser_name' parameter indirect

Open roberfi opened this issue 8 months ago • 1 comments

Fixes #195.

Using "browser_name" as an indirect parameter, pytest keeps the original order of the tests.

Without pytest-playwright:

my_tests/test_a.py::test_aa[case_1] PASSED                                                 [ 12%]
my_tests/test_a.py::test_aa[case_2] PASSED                                                 [ 25%]
my_tests/test_a.py::test_ab[case_1] PASSED                                                 [ 37%]
my_tests/test_a.py::test_ab[case_2] PASSED                                                 [ 50%]
my_tests/test_b.py::test_ba[case_1] PASSED                                                 [ 62%]
my_tests/test_b.py::test_ba[case_2] PASSED                                                 [ 75%]
my_tests/test_b.py::test_bb[case_1] PASSED                                                 [ 87%]
my_tests/test_b.py::test_bb[case_2] PASSED                                                 [100%]

With pytest-playwright before the fix:

my_tests/test_a.py::test_aa[chromium-case_1] PASSED                                        [  4%]
my_tests/test_a.py::test_ab[chromium-case_1] PASSED                                        [  8%]
my_tests/test_b.py::test_ba[chromium-case_1] PASSED                                        [ 12%]
my_tests/test_b.py::test_bb[chromium-case_1] PASSED                                        [ 16%]
my_tests/test_a.py::test_aa[chromium-case_2] PASSED                                        [ 20%]
my_tests/test_a.py::test_ab[chromium-case_2] PASSED                                        [ 25%]
my_tests/test_b.py::test_ba[chromium-case_2] PASSED                                        [ 29%]
my_tests/test_b.py::test_bb[chromium-case_2] PASSED                                        [ 33%]
my_tests/test_a.py::test_aa[firefox-case_1] PASSED                                         [ 37%]
my_tests/test_a.py::test_ab[firefox-case_1] PASSED                                         [ 41%]
my_tests/test_b.py::test_ba[firefox-case_1] PASSED                                         [ 45%]
my_tests/test_b.py::test_bb[firefox-case_1] PASSED                                         [ 50%]
my_tests/test_a.py::test_aa[firefox-case_2] PASSED                                         [ 54%]
my_tests/test_a.py::test_ab[firefox-case_2] PASSED                                         [ 58%]
my_tests/test_b.py::test_ba[firefox-case_2] PASSED                                         [ 62%]
my_tests/test_b.py::test_bb[firefox-case_2] PASSED                                         [ 66%]
my_tests/test_a.py::test_aa[webkit-case_1] PASSED                                          [ 70%]
my_tests/test_a.py::test_ab[webkit-case_1] PASSED                                          [ 75%]
my_tests/test_b.py::test_ba[webkit-case_1] PASSED                                          [ 79%]
my_tests/test_b.py::test_bb[webkit-case_1] PASSED                                          [ 83%]
my_tests/test_a.py::test_aa[webkit-case_2] PASSED                                          [ 87%]
my_tests/test_a.py::test_ab[webkit-case_2] PASSED                                          [ 91%]
my_tests/test_b.py::test_ba[webkit-case_2] PASSED                                          [ 95%]
my_tests/test_b.py::test_bb[webkit-case_2] PASSED                                          [100%]

With pytest-playwright after the fix:

my_tests/test_a.py::test_aa[chromium-case_1] PASSED                                        [  4%]
my_tests/test_a.py::test_aa[chromium-case_2] PASSED                                        [  8%]
my_tests/test_a.py::test_ab[chromium-case_1] PASSED                                        [ 12%]
my_tests/test_a.py::test_ab[chromium-case_2] PASSED                                        [ 16%]
my_tests/test_b.py::test_ba[chromium-case_1] PASSED                                        [ 20%]
my_tests/test_b.py::test_ba[chromium-case_2] PASSED                                        [ 25%]
my_tests/test_b.py::test_bb[chromium-case_1] PASSED                                        [ 29%]
my_tests/test_b.py::test_bb[chromium-case_2] PASSED                                        [ 33%]
my_tests/test_a.py::test_aa[firefox-case_1] PASSED                                         [ 37%]
my_tests/test_a.py::test_aa[firefox-case_2] PASSED                                         [ 41%]
my_tests/test_a.py::test_ab[firefox-case_1] PASSED                                         [ 45%]
my_tests/test_a.py::test_ab[firefox-case_2] PASSED                                         [ 50%]
my_tests/test_b.py::test_ba[firefox-case_1] PASSED                                         [ 54%]
my_tests/test_b.py::test_ba[firefox-case_2] PASSED                                         [ 58%]
my_tests/test_b.py::test_bb[firefox-case_1] PASSED                                         [ 62%]
my_tests/test_b.py::test_bb[firefox-case_2] PASSED                                         [ 66%]
my_tests/test_a.py::test_aa[webkit-case_1] PASSED                                          [ 70%]
my_tests/test_a.py::test_aa[webkit-case_2] PASSED                                          [ 75%]
my_tests/test_a.py::test_ab[webkit-case_1] PASSED                                          [ 79%]
my_tests/test_a.py::test_ab[webkit-case_2] PASSED                                          [ 83%]
my_tests/test_b.py::test_ba[webkit-case_1] PASSED                                          [ 87%]
my_tests/test_b.py::test_ba[webkit-case_2] PASSED                                          [ 91%]
my_tests/test_b.py::test_bb[webkit-case_1] PASSED                                          [ 95%]
my_tests/test_b.py::test_bb[webkit-case_2] PASSED                                          [100%]

roberfi avatar Jul 03 '25 16:07 roberfi

  • [x] Waiting for the test fix (#285) to be merged

roberfi avatar Jul 03 '25 17:07 roberfi