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_plugin_logs_expected_results at 1.37s.
test_fail — SKIPPED
tests/dummy_tests/test_cases.py::test_fail main
Link ⏱ 0.00s
STDOUT:
stdout from fail
STDERR:
stderr from fail
test_pass — PASSED
tests/dummy_tests/test_cases.py::test_pass main
Link ⏱ 0.00s
STDOUT:
stdout from pass
STDERR:
stderr from pass
test_skip — SKIPPED
tests/dummy_tests/test_cases.py::test_skip main
⏱ 0.00s
test_send_with_smtp — PASSED
tests/e2e/test_email.py::test_send_with_smtp main
⏱ 0.00s
test_send_with_ssl — PASSED
tests/e2e/test_email.py::test_send_with_ssl main
⏱ 0.00s
test_plugin_logs_expected_results — PASSED
tests/e2e/test_plugin.py::test_plugin_logs_expected_results main
⏱ 1.37s
STDOUT:
STDOUT IS: {'report_title': 'report_output', 'environment': 'NA', 'branch': 'v0.3.8', 'commit': 'ddcf7befeaff4235dccf3d6a23e9d6efacbaf322', 'generated_at': '2025-08-15T22:37:57.512834'}
============================= test session starts ==============================
platform darwin -- Python 3.9.6, pytest-8.4.1, pluggy-1.6.0 -- /Users/emjey-p/Documents/GitHub/pytest-report-plus/.venv/bin/python
cachedir: .pytest_cache
rootdir: /Users/emjey-p/Documents/GitHub/pytest-report-plus
configfile: pytest.ini
plugins: html-plus-0.3.4, anyio-4.9.0, xdist-3.8.0, rerunfailures-15.1, cov-6.2.1, playwright-0.7.0, base-url-2.1.0
collecting ... collected 3 items

tests/dummy_tests/test_cases.py::test_fail stdout from fail
XFAIL (Expected failure f...) [ 33%]
tests/dummy_tests/test_cases.py::test_pass stdout from pass
PASSED                        [ 66%]
tests/dummy_tests/test_cases.py::test_skip SKIPPED (just skipping)       [100%]

=================== 1 passed, 1 skipped, 1 xfailed in 0.13s ====================

STDERR IS: /Users/emjey-p/Documents/GitHub/pytest-report-plus/.venv/lib/python3.9/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
  warnings.warn(
The "poetry.dev-dependencies" section is deprecated and will be removed in a future version. Use "poetry.group.dev.dependencies" instead.
stderr from fail
stderr from pass

test_skipped_example — SKIPPED
tests/unit/test_convert_json_to_junit_xml.py::test_skipped_example main
⏱ 0.00s
test_convert_json_to_xml — PASSED
tests/unit/test_convert_json_to_junit_xml.py::test_convert_json_to_xml main
⏱ 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] main
⏱ 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] main
⏱ 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] main
⏱ 0.00s
test_sanitize_classname_None_default_ — PASSED
tests/unit/test_convert_json_to_junit_xml.py::test_sanitize_classname[None-default] main
⏱ 0.00s
test_sanitize_classname__default_ — PASSED
tests/unit/test_convert_json_to_junit_xml.py::test_sanitize_classname[-default] main
⏱ 0.00s
test_copy_all_screenshots — PASSED
tests/unit/test_copy_all_screenshots.py::test_copy_all_screenshots main
⏱ 0.00s
test_resolve_driver_prefers_page_over_others — PASSED
tests/unit/test_driver_screenshots.py::test_resolve_driver_prefers_page_over_others main
⏱ 0.00s
test_resolve_driver_fallback_to_driver — PASSED
tests/unit/test_driver_screenshots.py::test_resolve_driver_fallback_to_driver main
⏱ 0.00s
test_resolve_driver_fallback_to_browser — PASSED
tests/unit/test_driver_screenshots.py::test_resolve_driver_fallback_to_browser main
⏱ 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 main
⏱ 0.00s
STDOUT:
[resolve_driver] Using manually attached screenshot object
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 main
⏱ 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 main
⏱ 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 main
⏱ 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 main
⏱ 0.00s
test_take_screenshot_with_save_screenshot_method — PASSED
tests/unit/test_driver_screenshots.py::test_take_screenshot_with_save_screenshot_method main
⏱ 0.00s
test_take_screenshot_raises_on_invalid_driver — PASSED
tests/unit/test_driver_screenshots.py::test_take_screenshot_raises_on_invalid_driver main
⏱ 0.00s
test_take_screenshot_with_custom_path — PASSED
tests/unit/test_driver_screenshots.py::test_take_screenshot_with_custom_path main
⏱ 0.00s
test_error_block_basic — PASSED
tests/unit/test_error_block.py::test_error_block_basic main
⏱ 0.00s
test_error_block_spaces_and_blank_lines — PASSED
tests/unit/test_error_block.py::test_error_block_spaces_and_blank_lines main
⏱ 0.00s
test_error_block_no_E_lines — PASSED
tests/unit/test_error_block.py::test_error_block_no_E_lines main
⏱ 0.00s
test_error_block_empty — PASSED
tests/unit/test_error_block.py::test_error_block_empty main
⏱ 0.00s
test_error_block_none — PASSED
tests/unit/test_error_block.py::test_error_block_none main
⏱ 0.00s
test_extract_error_block_with_invalid_input — PASSED
tests/unit/test_error_block.py::test_extract_error_block_with_invalid_input main
⏱ 0.00s
test_find_screenshot_and_copy — PASSED
tests/unit/test_find_screenshot_and_copy.py::test_find_screenshot_and_copy main
⏱ 0.00s
test_flaky_network_call — PASSED
tests/unit/test_flaky_badge.py::test_flaky_network_call main
FLAKY ⏱ 0.00s
test_merge_json_reports_creates_merged_file — PASSED
tests/unit/test_json_merger.py::test_merge_json_reports_creates_merged_file main
⏱ 0.00s
test_merge_json_reports_handles_bad_json — PASSED
tests/unit/test_json_merger.py::test_merge_json_reports_handles_bad_json main
⏱ 0.00s
test_merge_json_reports_handles_empty_directory — PASSED
tests/unit/test_json_merger.py::test_merge_json_reports_handles_empty_directory main
⏱ 0.00s
test_compute_filter_count_failed_non_flaky — PASSED
tests/unit/test_json_merger.py::test_compute_filter_count_failed_non_flaky main
⏱ 0.00s
test_single_non_flaky_test — PASSED
tests/unit/test_mark_flaky_tests.py::TestMarkFlakyTests::test_single_non_flaky_test main
⏱ 0.00s
test_flaky_test_with_multiple_attempts — PASSED
tests/unit/test_mark_flaky_tests.py::TestMarkFlakyTests::test_flaky_test_with_multiple_attempts main
⏱ 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 main
⏱ 0.00s
test_preserves_other_fields — PASSED
tests/unit/test_mark_flaky_tests.py::TestMarkFlakyTests::test_preserves_other_fields main
⏱ 0.00s
test_multiple_failures_not_flaky — PASSED
tests/unit/test_mark_flaky_tests.py::TestMarkFlakyTests::test_multiple_failures_not_flaky main
⏱ 0.00s
test_multiple_passes_not_flaky — PASSED
tests/unit/test_mark_flaky_tests.py::TestMarkFlakyTests::test_multiple_passes_not_flaky main
⏱ 0.00s
test_extract_links_with_multiple_marker_names — PASSED
tests/unit/test_marker_links.py::test_extract_links_with_multiple_marker_names main
⏱ 0.00s
test_extract_links_with_no_markers — PASSED
tests/unit/test_marker_links.py::test_extract_links_with_no_markers main
⏱ 0.00s
test_extract_links_with_non_string_args — PASSED
tests/unit/test_marker_links.py::test_extract_links_with_non_string_args main
⏱ 0.00s
test_passing_test_logged_even_if_screenshot_not_taken — PASSED
tests/unit/test_plugin_logging.py::test_passing_test_logged_even_if_screenshot_not_taken main
⏱ 0.36s
test_trace_block_basic — PASSED
tests/unit/test_trace_block.py::test_trace_block_basic main
⏱ 0.00s
test_trace_block_with_leading_spaces — PASSED
tests/unit/test_trace_block.py::test_trace_block_with_leading_spaces main
⏱ 0.00s
test_trace_block_no_error_line — PASSED
tests/unit/test_trace_block.py::test_trace_block_no_error_line main
⏱ 0.00s
test_trace_block_empty — PASSED
tests/unit/test_trace_block.py::test_trace_block_empty main
⏱ 0.00s
test_trace_block_none — PASSED
tests/unit/test_trace_block.py::test_trace_block_none main
⏱ 0.00s
test_trace_block_only_error_line — PASSED
tests/unit/test_trace_block.py::test_trace_block_only_error_line main
⏱ 0.00s
test_extract_trace_block_with_invalid_input — PASSED
tests/unit/test_trace_block.py::test_extract_trace_block_with_invalid_input main
⏱ 0.00s