Execution Metadata (click to toggle)

i
Untracked Tests:
These tests do not have any associated tracking markers like: Add these markers to your test to track them better
Filter by Markers:
Bingo! All your tests passed! The slowest test was test_profile_requires_pyproject_file at 0.00s.
test_skipped_example — SKIPPED
tests/unit/test_convert_json_to_junit_xml.py::test_skipped_example gw0
⏱ 0.00s
test_convert_json_to_xml — PASSED
tests/unit/test_convert_json_to_junit_xml.py::test_convert_json_to_xml gw0
⏱ 0.00s
test_resolve_driver_fallback_on_object_with_screenshot_method — PASSED
tests/unit/test_driver_screenshots.py::test_resolve_driver_fallback_on_object_with_screenshot_method gw0
⏱ 0.00s
test_resolve_driver_fallback_on_object_with_save_screenshot — PASSED
tests/unit/test_driver_screenshots.py::test_resolve_driver_fallback_on_object_with_save_screenshot gw0
⏱ 0.00s
test_flaky_network_call — PASSED
tests/unit/test_flaky_badge.py::test_flaky_network_call gw0
FLAKY (2 attempts) ⏱ 0.00s
Error:
E           AssertionError: Simulated network failure
E           assert False
Trace:
def test_flaky_network_call():
        attempt_counter["count"] += 1
        if attempt_counter["count"] == 1:
>           assert False, "Simulated network failure"
Attempts:
Attempt 1 ❌
Error:
E           AssertionError: Simulated network failure
E           assert False
Trace:
def test_flaky_network_call():
        attempt_counter["count"] += 1
        if attempt_counter["count"] == 1:
>           assert False, "Simulated network failure"
Attempt 2 ✅
test_compute_filter_count_failed_non_flaky — PASSED
tests/unit/test_json_merger.py::test_compute_filter_count_failed_non_flaky gw0
⏱ 0.00s
test_passing_test_logged_even_if_screenshot_not_taken — SKIPPED
tests/unit/test_plugin_logging.py::test_passing_test_logged_even_if_screenshot_not_taken gw0
⏱ 0.00s
test_profile_args_are_prepended_so_cli_can_override — PASSED
tests/unit/test_profile_loading.py::test_profile_args_are_prepended_so_cli_can_override gw0
⏱ 0.00s
test_trace_block_basic — PASSED
tests/unit/test_trace_block.py::test_trace_block_basic gw0
⏱ 0.00s
test_sanitize_classname_tests_test_login_py_tests_test_login_ — PASSED
tests/unit/test_convert_json_to_junit_xml.py::test_sanitize_classname[tests/test_login.py-tests.test_login] gw1
⏱ 0.00s
test_sanitize_classname_tests__test_user_py_tests_test_user_ — PASSED
tests/unit/test_convert_json_to_junit_xml.py::test_sanitize_classname[tests\\test_user.py-tests.test_user] gw1
⏱ 0.00s
test_take_screenshot_with_save_screenshot_method — PASSED
tests/unit/test_driver_screenshots.py::test_take_screenshot_with_save_screenshot_method gw1
⏱ 0.00s
test_take_screenshot_raises_on_invalid_driver — PASSED
tests/unit/test_driver_screenshots.py::test_take_screenshot_raises_on_invalid_driver gw1
⏱ 0.00s
test_merge_json_reports_handles_empty_directory — PASSED
tests/unit/test_json_merger.py::test_merge_json_reports_handles_empty_directory gw1
⏱ 0.00s
test_single_non_flaky_test — PASSED
tests/unit/test_mark_flaky_tests.py::TestMarkFlakyTests::test_single_non_flaky_test gw1
⏱ 0.00s
test_multiple_failures_not_flaky — PASSED
tests/unit/test_mark_flaky_tests.py::TestMarkFlakyTests::test_multiple_failures_not_flaky gw1
⏱ 0.00s
test_invalid_profile_key_raises_usage_error — PASSED
tests/unit/test_profile_loading.py::test_invalid_profile_key_raises_usage_error gw1
⏱ 0.00s
test_ui_fixture_failure_captures_screenshot — PASSED
tests/unit/test_setup_failure.py::test_ui_fixture_failure_captures_screenshot gw1
⏱ 0.00s
test_sanitize_classname_tests_utils_helpers_py_tests_utils_helpers_ — PASSED
tests/unit/test_convert_json_to_junit_xml.py::test_sanitize_classname[tests/utils/helpers.py-tests.utils.helpers] gw2
⏱ 0.00s
test_sanitize_classname_None_default_ — PASSED
tests/unit/test_convert_json_to_junit_xml.py::test_sanitize_classname[None-default] gw2
⏱ 0.00s
test_error_block_spaces_and_blank_lines — PASSED
tests/unit/test_error_block.py::test_error_block_spaces_and_blank_lines gw2
⏱ 0.00s
test_error_block_no_E_lines — PASSED
tests/unit/test_error_block.py::test_error_block_no_E_lines gw2
⏱ 0.00s
test_find_screenshot_and_copy — PASSED
tests/unit/test_find_screenshot_and_copy.py::test_find_screenshot_and_copy gw2
⏱ 0.00s
test_compute_filter_count_error_non_flaky — PASSED
tests/unit/test_json_merger.py::test_compute_filter_count_error_non_flaky gw2
⏱ 0.00s
test_extract_links_with_non_string_args — PASSED
tests/unit/test_marker_links.py::test_extract_links_with_non_string_args gw2
⏱ 0.00s
test_profile_boolean_values_must_be_boolean — PASSED
tests/unit/test_profile_loading.py::test_profile_boolean_values_must_be_boolean gw2
⏱ 0.00s
test_trace_block_none — PASSED
tests/unit/test_trace_block.py::test_trace_block_none gw2
⏱ 0.00s
test_sanitize_classname__default_ — PASSED
tests/unit/test_convert_json_to_junit_xml.py::test_sanitize_classname[-default] gw3
⏱ 0.00s
test_copy_all_screenshots — PASSED
tests/unit/test_copy_all_screenshots.py::test_copy_all_screenshots gw3
⏱ 0.00s
test_resolve_driver_returns_none_when_no_match — PASSED
tests/unit/test_driver_screenshots.py::test_resolve_driver_returns_none_when_no_match gw3
⏱ 0.00s
STDOUT:
[resolve_driver] Using manually attached screenshot object
test_take_screenshot_with_screenshot_method — PASSED
tests/unit/test_driver_screenshots.py::test_take_screenshot_with_screenshot_method gw3
⏱ 0.00s
test_merge_json_reports_handles_bad_json — PASSED
tests/unit/test_json_merger.py::test_merge_json_reports_handles_bad_json gw3
⏱ 0.00s
test_mixed_tests_flaky_and_non_flaky — PASSED
tests/unit/test_mark_flaky_tests.py::TestMarkFlakyTests::test_mixed_tests_flaky_and_non_flaky gw3
⏱ 0.00s
test_extract_links_with_no_markers — PASSED
tests/unit/test_marker_links.py::test_extract_links_with_no_markers gw3
⏱ 0.00s
test_duplicate_profile_keys_surface_toml_error — PASSED
tests/unit/test_profile_loading.py::test_duplicate_profile_keys_surface_toml_error gw3
⏱ 0.00s
test_trace_block_no_error_line — PASSED
tests/unit/test_trace_block.py::test_trace_block_no_error_line gw3
⏱ 0.00s
test_trace_block_only_error_line — PASSED
tests/unit/test_trace_block.py::test_trace_block_only_error_line gw3
⏱ 0.00s
test_resolve_driver_prefers_page_over_others — PASSED
tests/unit/test_driver_screenshots.py::test_resolve_driver_prefers_page_over_others gw4
⏱ 0.00s
test_resolve_driver_fallback_to_driver — PASSED
tests/unit/test_driver_screenshots.py::test_resolve_driver_fallback_to_driver gw4
⏱ 0.00s
test_take_screenshot_with_custom_path — PASSED
tests/unit/test_driver_screenshots.py::test_take_screenshot_with_custom_path gw4
⏱ 0.00s
test_error_block_basic — PASSED
tests/unit/test_error_block.py::test_error_block_basic gw4
⏱ 0.00s
test_merge_json_reports_creates_merged_file — PASSED
tests/unit/test_json_merger.py::test_merge_json_reports_creates_merged_file gw4
⏱ 0.00s
test_flaky_test_with_multiple_attempts — PASSED
tests/unit/test_mark_flaky_tests.py::TestMarkFlakyTests::test_flaky_test_with_multiple_attempts gw4
⏱ 0.00s
test_multiple_passes_not_flaky — PASSED
tests/unit/test_mark_flaky_tests.py::TestMarkFlakyTests::test_multiple_passes_not_flaky gw4
⏱ 0.00s
test_profile_can_be_passed_as_separate_argument — PASSED
tests/unit/test_profile_loading.py::test_profile_can_be_passed_as_separate_argument gw4
⏱ 0.00s
test_trace_block_with_leading_spaces — PASSED
tests/unit/test_trace_block.py::test_trace_block_with_leading_spaces gw4
⏱ 0.00s
test_extract_trace_block_with_invalid_input — PASSED
tests/unit/test_trace_block.py::test_extract_trace_block_with_invalid_input gw4
⏱ 0.00s
test_resolve_driver_fallback_to_browser — PASSED
tests/unit/test_driver_screenshots.py::test_resolve_driver_fallback_to_browser gw5
⏱ 0.00s
test_resolve_driver_uses_page_for_screenshot_attr — PASSED
tests/unit/test_driver_screenshots.py::test_resolve_driver_uses_page_for_screenshot_attr gw5
⏱ 0.00s
STDOUT:
[resolve_driver] Using manually attached screenshot object
test_error_block_empty — PASSED
tests/unit/test_error_block.py::test_error_block_empty gw5
⏱ 0.00s
test_error_block_none — PASSED
tests/unit/test_error_block.py::test_error_block_none gw5
⏱ 0.00s
test_extract_error_block_with_invalid_input — PASSED
tests/unit/test_error_block.py::test_extract_error_block_with_invalid_input gw5
⏱ 0.00s
test_preserves_other_fields — PASSED
tests/unit/test_mark_flaky_tests.py::TestMarkFlakyTests::test_preserves_other_fields gw5
⏱ 0.00s
test_extract_links_with_multiple_marker_names — PASSED
tests/unit/test_marker_links.py::test_extract_links_with_multiple_marker_names gw5
⏱ 0.00s
test_profile_requires_pyproject_file — PASSED
tests/unit/test_profile_loading.py::test_profile_requires_pyproject_file gw5
⏱ 0.00s
test_trace_block_empty — PASSED
tests/unit/test_trace_block.py::test_trace_block_empty gw5
⏱ 0.00s