Общие положения
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 метка времени должна быть обработана с учётом текущего часового пояса.
Особенности консольной версии
- Консольная версия приложения не имеет доступа к базе данных сессий испытаний
- В консольной версии приложения недоступно чтение артефактов из БД, все артефакты должны быть описаны непосредственно в тестовом сценарии.