Когда на базе TSMaster разрабатываются тестовые сценарии и нужно сформировать HTML-отчёт, используется генератор тестовых отчётов TSMaster. В статье — состав шаблона Test_Report и справочник его функций с примерами вызова.

Ключевые слова: TSMaster, тестовый отчёт, Test_Report, HTML, API.

1. Описание Test_Report

Test_Report — шаблон тестовых отчётов, который TSMaster предоставляет пользователям. Он объединяет печать отчёта, показ изображений, отображение статуса теста, доли пройденных и проваленных проверок и времени выполнения. Пример отчёта — на рис. 1-1.

Пример тестового отчёта
Рис. 1-1. Пример тестового отчёта HTML

2. Функции Test_Report

2.1. test_init

ЭлементОписание
Сигнатураs32 test_init(const pnative_int Handle, const char* ReportName)
НазначениеИнициализация генератора отчётов и задание имени формируемого HTML-отчёта.
Где вызыватьДо всех остальных функций — инициализация обязательна.
ПараметрыHandle — дескриптор отчёта; ReportName — имя HTML-отчёта.
Возврат==0 — успех; другие значения — ошибка.
native_int Handle = 0;
test_init(&Handle, "testReport");

2.2. test_title

ЭлементОписание
Сигнатураs32 test_title(const native_int Handle, const char* testgroup, const char* testcase, const char* image, const char* testpurpose)
НазначениеВвод группы тестовых сценариев, имени сценария и связанной информации.
Где вызыватьПеред началом каждого тестового сценария; можно приложить изображение тестовой среды, цель теста и нормативные ссылки.
ПараметрыHandle — дескриптор; testgroup — имя группы; testcase — имя сценария; image — изображение тестовой среды (произвольное, может быть пустым); testpurpose — цель и стандарты, строка через запятую, может быть пустой.
Возврат==0 — успех; другие значения — ошибка.
native_int Handle = 0;
s32 ret = test_init(&Handle, "testReport");
if (ret == 0)
{
    test_title(Handle, "testgroup1", "testcase1", "", "");
}

2.3. test_step

ЭлементОписание
Сигнатураs32 test_step(const native_int Handle, const char* teststep, const char* Description)
НазначениеЗапись конкретного шага тестового сценария и его описания.
Где вызыватьПосле test_title соответствующего сценария.
ПараметрыHandle — дескриптор; teststep — шаг теста; Description — описание шага, через запятую можно передать ожидаемый и фактический результат.
Возврат==0 — успех; другие значения — ошибка.
test_step(Handle, "1", "начать подачу питания,питание подано,питание подано");

2.4. test_pass

ЭлементОписание
Сигнатураs32 test_pass(const native_int Handle, const char* teststep, const char* Description)
НазначениеОтметить шаг тестового сценария как пройденный.
Где вызыватьПосле test_title соответствующего сценария.
ПараметрыHandle — дескриптор; teststep — шаг теста; Description — описание шага.
Возврат==0 — успех; другие значения — ошибка.
test_pass(Handle, "1", "начать подачу питания");

2.5. test_fail

ЭлементОписание
Сигнатураs32 test_fail(const native_int Handle, const char* teststep, const char* Description)
НазначениеОтметить шаг тестового сценария как проваленный.
Где вызыватьПосле test_title соответствующего сценария.
ПараметрыHandle — дескриптор; teststep — шаг теста; Description — описание шага.
Возврат==0 — успех; другие значения — ошибка.
test_fail(Handle, "1", "подача питания не удалась");

2.6. test_final

ЭлементОписание
Сигнатураs32 test_final(const native_int Handle)
НазначениеЗавершение формирования отчёта: освобождение дескриптора и генерация итогового HTML-отчёта.
Где вызыватьПосле выполнения всех тестовых сценариев.
ПараметрыHandle — дескриптор отчёта.
Возврат==0 — успех; другие значения — ошибка.
native_int Handle = 0;
s32 ret = test_init(&Handle, "testReport");
if (ret == 0)
{
    test_title(Handle, "testgroup1", "testcase1", "", "");
    test_step(Handle, "1", "начать подачу питания,питание подано,питание подано");
    test_fail(Handle, "1", "подача питания не удалась");
    test_final(Handle);
}