Запись данных в формате JSON для Allurebox

Как записать json для allurebox

Как записать json для allurebox

Allurebox использует формат JSON для структурирования информации о тестах, их статусах, шагах и вложениях. Правильная организация данных позволяет быстро выявлять ошибки и упрощает интеграцию с другими инструментами CI/CD. Каждый JSON-файл должен содержать уникальный идентификатор теста, время выполнения и подробное описание шагов с указанием результата.

Для ручного создания JSON важно соблюдать строгую иерархию: тесты, шаги, вложения. Рекомендуется использовать четкие и однозначные ключи, например «name» для названия теста, «status» для состояния и «attachments» для файловых ресурсов. Несоблюдение структуры может привести к некорректному отображению отчетов в Allurebox.

При автоматической генерации JSON через скрипты следует проверять корректность формата перед сохранением. Инструменты для валидации JSON позволяют выявлять ошибки синтаксиса и логические несоответствия, такие как пропущенные шаги или дублирующиеся идентификаторы. Рекомендуется создавать отдельные папки для каждого запуска тестов, чтобы упорядочить файлы и ускорить последующую загрузку в Allurebox.

Структура JSON для отчетов Allurebox

JSON для Allurebox формируется на основе объектов тестов, каждый из которых содержит обязательные и дополнительные поля. Основные ключи включают «uuid» – уникальный идентификатор теста, «name» – название, «status» – статус выполнения, и «steps» – массив шагов с подробной информацией.

Каждый шаг внутри «steps» должен содержать «name» для описания действия, «status» для результата и «attachments», если шаг сопровождается файлами. Для вложений используются ключи «source» – имя файла, и «type» – MIME-тип данных. Структура обязательна для корректного отображения в Allurebox.

Ключ Тип Описание
uuid string Уникальный идентификатор теста, генерируется для каждого запуска
name string Название теста или шага
status string Статус выполнения: passed, failed, broken, skipped
steps array Массив шагов теста с ключами name, status и attachments
attachments array Файлы, связанные с шагом, с указанием source и type
parameters array Дополнительные параметры теста, например входные данные
start integer Время начала выполнения теста в миллисекундах с эпохи Unix
stop integer Время окончания выполнения теста в миллисекундах с эпохи Unix

Рекомендуется использовать одинаковые форматы времени и идентификаторы, чтобы упрощать поиск и фильтрацию данных в отчетах. Все вложенные массивы должны быть корректно закрыты, иначе загрузка в Allurebox завершится с ошибкой.

Создание тестовых записей вручную

Создание тестовых записей вручную

Для ручного создания JSON-записей в Allurebox важно соблюдать точную структуру и корректно заполнять ключевые поля. Каждая запись должна содержать уникальный идентификатор, название теста, статус и шаги с вложениями. Использование последовательного формата упрощает проверку и последующую интеграцию.

Алгоритм создания записи вручную:

  1. Сгенерировать uuid для теста, например с помощью онлайн-генератора или скрипта.
  2. Прописать name теста, используя четкое и короткое описание.
  3. Указать status: passed, failed, broken или skipped.
  4. Создать массив steps, где каждый шаг содержит:
    • name – описание действия
    • status – результат выполнения шага
    • attachments – при необходимости прикрепить файлы с указанием source и type
  5. При необходимости добавить массив parameters с входными данными или настройками теста.
  6. Указать start и stop в миллисекундах для точного отражения времени выполнения.

Рекомендуется проверять JSON через валидаторы перед загрузкой в Allurebox, чтобы исключить ошибки синтаксиса и некорректные ключи. Для повторяющихся тестов можно сохранять шаблон JSON и изменять только уникальные поля.

Автоматическая генерация JSON через скрипты

Для автоматической генерации JSON в Allurebox скрипты используют стандартные библиотеки работы с JSON в выбранном языке программирования, например json в Python или Jackson в Java. Основная задача скрипта – формировать корректную структуру с уникальными идентификаторами, статусами тестов и шагов, вложениями и параметрами.

Рекомендованные шаги при автоматизации:

1. Генерация uuid для каждого теста и шага с помощью встроенных функций. Это исключает дублирование и позволяет Allurebox отслеживать отдельные записи.

2. Автоматическое заполнение полей name и status на основе результатов выполнения тестов. Скрипт может использовать логи или выходные данные тестового фреймворка для определения статуса.

3. Формирование массива steps с вложениями. Для каждого шага указывается name, status и, при необходимости, массив attachments с файлами и их типами.

4. Добавление параметров теста через массив parameters, чтобы фиксировать входные данные, конфигурации окружения и другие переменные, влияющие на результат.

5. Сохранение JSON-файлов в отдельные папки по каждому запуску тестов. Использование шаблонов файлов помогает унифицировать формат и упрощает последующую загрузку в Allurebox.

Регулярная проверка с помощью валидаторов JSON позволяет выявлять ошибки синтаксиса и логические несоответствия до загрузки. Скрипты рекомендуется строить так, чтобы они генерировали готовый к загрузке JSON без ручной корректировки.

Сохранение и организация JSON-файлов

Для Allurebox критически важно поддерживать структуру хранения JSON-файлов, чтобы ускорять загрузку отчетов и облегчать поиск информации. Каждый тестовый запуск рекомендуется сохранять в отдельной папке с именем по дате и времени или уникальному идентификатору запуска.

Структура папок может быть следующей:

  • root_folder/
    • 2025-11-18_10-30-00/
      • test_001.json
      • test_002.json
    • 2025-11-18_14-00-00/
      • test_001.json
      • test_002.json

Файлы должны именоваться так, чтобы отражать идентификатор теста или последовательность его выполнения. Использование нумерации или ключей uuid в имени файла предотвращает дублирование и упрощает автоматическую обработку скриптами.

Для упрощения интеграции с CI/CD и Allurebox рекомендуется сохранять JSON в формате UTF-8, избегая пробелов и специальных символов в именах файлов. Регулярное архивирование старых запусков снижает нагрузку на систему и поддерживает быстрый доступ к актуальным отчетам.

Проверка корректности данных перед загрузкой

Перед загрузкой JSON в Allurebox важно убедиться, что все ключи и значения соответствуют ожидаемому формату. Каждый тест должен содержать uuid, name, status, массив steps и, при необходимости, attachments и parameters. Отсутствие любого из этих элементов может привести к некорректному отображению отчета.

Рекомендуется использовать валидаторы JSON для выявления синтаксических ошибок. Для Python подходит встроенный модуль json с функцией json.load(), которая проверяет правильность структуры. В Java можно использовать Jackson ObjectMapper с методом readTree() для аналогичной проверки.

Помимо синтаксиса, следует контролировать логическую целостность:

  • Все uuid должны быть уникальными в пределах одного запуска.
  • Статусы тестов и шагов должны соответствовать допустимым значениям: passed, failed, broken, skipped.
  • Время начала и окончания теста (start, stop) должно быть корректным и логически последовательным.
  • Вложенные массивы steps и attachments должны быть полностью закрыты и не содержать пустых объектов.

Регулярная проверка данных перед загрузкой снижает вероятность ошибок при формировании отчетов и гарантирует корректное отображение всех шагов и вложений в Allurebox.

Импорт JSON в Allurebox и отладка отчетов

Для загрузки JSON в Allurebox следует использовать интерфейс импорта или автоматизированные скрипты. Файлы можно загружать по отдельности или пакетами, размещая их в заранее подготовленных папках с уникальными именами. Allurebox автоматически распознает uuid, steps и attachments, формируя визуальный отчет.

При возникновении ошибок отображения необходимо проверить:

  • Правильность структуры JSON: наличие всех обязательных ключей и корректность вложенных массивов.
  • Соответствие статусов шагов допустимым значениям: passed, failed, broken, skipped.
  • Совпадение uuid с уникальными идентификаторами для предотвращения дублирования данных.
  • Корректность вложений: указанные файлы должны существовать и иметь правильный MIME-тип.

Для отладки удобно загружать JSON-файлы по одному и проверять визуальное отображение шагов и вложений. Ошибки в формате или дублирование идентификаторов могут вызвать пропадание шагов или некорректное объединение данных. После устранения ошибок рекомендуется повторная загрузка всех файлов, чтобы сформировать полный отчет.

Использование логирования при автоматической генерации JSON позволяет фиксировать статус каждого теста и шагов, облегчая последующую диагностику проблем при импорте в Allurebox.

Вопрос-ответ:

Какие поля обязательно должны присутствовать в JSON для корректного отображения теста в Allurebox?

Для корректного отображения записи теста в Allurebox JSON должен содержать uuid — уникальный идентификатор теста, name — название теста, status — его результат, steps — массив шагов с указанием name, status и attachments при необходимости. Также полезно добавлять parameters и временные метки start и stop.

Как избежать дублирования идентификаторов при автоматической генерации JSON?

Для каждого теста и шага следует генерировать уникальный uuid. В Python можно использовать библиотеку uuid с функцией uuid4(), в Java — UUID.randomUUID(). При пакетной генерации рекомендуется проверять новые идентификаторы на совпадение с уже существующими, чтобы Allurebox корректно объединял данные без конфликтов.

Можно ли вручную добавлять вложения к шагам теста и как их правильно указать?

Да, вложения можно добавлять вручную через массив attachments каждого шага. Для каждого файла необходимо указать source — имя файла и type — MIME-тип, например image/png или text/plain. Вложения должны существовать в файловой системе и быть доступны при импорте JSON в Allurebox.

Какие методы проверки JSON перед загрузкой помогают избежать ошибок в отчетах?

Сначала нужно использовать валидаторы JSON для проверки синтаксиса. Далее проверяется логическая целостность: уникальность uuid, корректность статусов тестов и шагов (passed, failed, broken, skipped), правильная структура массивов steps и attachments. Дополнительно проверяют соответствие временных меток start и stop фактическому выполнению тестов.

Ссылка на основную публикацию