Описание проблемы
При прикреплении JSON-файлов, в авто тестах кириллические символы отображаются некорректно. Вместо русских букв выводятся их числовые коды.
Причина
Pytest кодирует все не-ASCII символы из идентификаторов набора параметров с помощью алгоритма unicode_escape.
Это приводит к тому, что кириллические символы заменяются на их Unicode-представления.
Решение
Чтобы правильно отображать кириллические символы в отчетах, необходимо декодировать их обратно с помощью следующего кода:
decoded_id = request.node.callspec.id.encode("ascii").decode("unicode_escape")
Пример использования
@pytest.mark.parametrize("url_for_check", [pytest.param("https://example.com", id="Главная страница API")])
def test_1(request, url_for_check):
decoded_id = request.node.callspec.id.encode("ascii").decode("unicode_escape")
allure.dynamic.title(f"Проверка открытия - {decoded_id}")
Рекомендации
Настройка кодировок:
Проверьте, что все файлы и окружение настроены на использование кодировки UTF-8 для корректной обработки кириллических символов.