Tekvel Magic
Загрузка...
Поиск...
Не найдено
Работа приложения в консольном режиме

Общие положения

Magic Console – это консольная версия среды для выполнения сценариев испытаний Tekvel Magic. Консольная версия предназначена для интеграции в сторонние приложения с возможностью запуска и выполнения в фоновом режиме с выдачей результата в структурированном машино-читаемом виде в формате файла JSON.

Сценарии испытаний программируются аналогично сценариям для десктопной версии Tekvel Magic c рядом исключений (см. особенности консольной версии).

Пример вызова

magic-console.exe -i path/to/test.py -o /path/to/test_result.json

Вызов приложения выполняется асинхронно в отдельном потоке, то есть команда magic-console.exe будет выполнена сразу после вызова. При этом приложение займёт файл ** /path/to/test_result.json **, заданный параметром -o.

Для проверки завершения работы сценария можно либо периодически проверять доступность для записи файла выходного результата, определенного параметром -o (/path/to/test_result.json), либо проверкой наличия в нём объекта testResult, и поля testResult.result.

Будьте внимательны, файл результата выполнения сценария перезаписывается при каждом запуске magic-console.exe. Вызывающее приложение должно самостоятельно обеспечить перенос результатов выполнения сценария в отдельный журнал, либо каждый раз при запуске использовать разный путь к файлу сохранения результата.

Параметры вызова

-i путь к файлу сценария проверки -o путь к файлу JSON, в котором будет сохранен результат выполнения опыта

Описание структуры возвращаемого результат

Пример структуры возвращаемого результата:

{
"testResult": {
"result": 1,
"result_description": "Проверка успешно пройдена. Система функционирует корректно.",
"testLog": [
{
"description": "Проверка работы окна вывода уведомления. Пройдено.",
"timestamp": 1624019908
},
{
"description": "Проверка работы окна выбора пути к SCD-файлу. Пройдено.",
"timestamp": 1624019930
},
{
"description": "Выбран SCD-файл: D:\\Downloads\\Priemka_v2.scd",
"timestamp": 1624019930
}
],
"test_id": "test.py"
}
}

Описание полей

Объект testResult

  • result
    • Тип: целое число 1, 2 или 3.
    • Описание: Результат выполнения опыта.
    • Возможные значения:
      • 1 - Опыт пройден успешно (SUCCESS)
      • 2 - Опыт не пройден (FAIL)
      • 3 - Результат не определен (INCONCLUSIVE)
  • result_description
    • Тип: Строка.
    • Описание: Текстовое описание результата выполнения опыта .
  • testLog
    • Тип: массив объектов testLogEntry.
    • Описание: список, состояший из объектов testLogEntry, содержащих журнал испытания с метками времени соответствующей записи.
  • test_id
    • Тип: строка.
    • Описание: наименование входного файла сценария, переданного в параметре -i
    • Пример: "test_id": "test.py"

Объект testLogEntry

  • description
    • Тип: Строка.
    • Описание: Текстовое описание шага выполнения опыта.
  • timestamp
    • Тип: Целое число.
    • Описание: Метка времени соответствующей записи в формате UTC.
    • Примечание: Для корректного отображения в интерфейсе пользователя UTC метка времени должна быть обработана с учётом текущего часового пояса.

Особенности консольной версии

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