Update json_to_md.py
Run Pytest with Allure and Coverage Reports / tests (push) Successful in 55s

This commit is contained in:
2025-07-13 22:59:50 +02:00
parent 077aaf6aca
commit 59bb045b1c
+15 -14
View File
@@ -23,6 +23,19 @@ def normalize_nodeid(nodeid):
return f"{file_part}#{func_part}"
return None
def write_json_value(f, value, indent=0):
prefix = " " * indent
if isinstance(value, dict):
for k, v in value.items():
f.write(f"{prefix}{k}:\n")
write_json_value(f, v, indent + 1)
elif isinstance(value, list):
for i, item in enumerate(value):
f.write(f"{prefix}- item {i}:\n")
write_json_value(f, item, indent + 1)
else:
f.write(f"{prefix}{value}\n")
def load_allure_metadata(allure_test_cases_dir):
allure_data = {}
if not os.path.exists(allure_test_cases_dir):
@@ -134,14 +147,7 @@ def json_to_md_nested(json_path, md_path, allure_dir=None):
continue
f.write(f"<details>\n<summary>📌 {field.capitalize()}</summary>\n\n")
f.write("```\n")
if isinstance(value, dict):
for k, v in value.items():
f.write(f"{k}: {v}\n")
elif isinstance(value, list):
for item in value:
f.write(f"{item}\n")
else:
f.write(f"{value}\n")
write_json_value(f, value)
f.write("```\n")
f.write("</details>\n\n")
@@ -199,12 +205,7 @@ def json_to_md_nested(json_path, md_path, allure_dir=None):
for k, v in other_keys.items():
f.write(f"{k}:\n")
try:
if isinstance(v, (dict, list)):
f.write(json.dumps(v, indent=2, ensure_ascii=False) + "\n")
elif isinstance(v, (str, int, float, bool)) or v is None:
f.write(f" {v}\n")
else:
f.write(f" <non-serializable: {str(v)}>\n")
write_json_value(f, v, indent=1)
except Exception as e:
f.write(f" <error formatting value: {e}>\n")
f.write("\n")