Настройка отчетов Postman / Newman junit

Я использую почтальон и новичок для выполнения автоматических тестов, и я делаю экспорт JUnit, чтобы использовать их в TFS. Однако когда я открываю свой XML-отчет, сбои отображаются следующим образом:

-<failure type="AssertionFailure">
    -<![CDATA[Failed 1 times.]]>
</failure>

Хотелось бы узнать, можно ли настроить "Failed 1 times". информация для передачи более релевантных данных об ошибке (например, ошибка тела json и описание)

Спасибо

Александр


person A.Joly    schedule 03.07.2017    source источник


Ответы (1)


Что ж, наконец-то я узнал, как действовать (пока не чисто, но достаточно для моей цели):

Я воздействую на файл C:\Users\<myself>\AppData\Roaming\npm\node_modules\newman\lib\reporters\junit\index.js

Данные запроса и ответ можно восстановить из объекта «выполнение»:

stringExecutions = JSON.stringify(executions); //provide information about the arguments of the object "executions"

отсюда я могу получить общую информацию, проанализировав этот элемент с помощью json и извлекая то, что хочу:

jsonExecutions = JSON.parse(stringExecutions)
jsonExecutions[0].response._details.code // gives me the http return code,
jsonExecutions[0].response._details.name // gives me the status,
jsonExecutions[0].response._details.detail //gives a bit more details

Данные об ошибках (на уровне тестового примера / набора тестов) можно восстановить из объекта err.error:

stringData = JSON.stringify(err.error); jsonData = JSON.parse(stringData);

из этого я извлекаю нужные мне данные, т.е.

jsonData.name // the error type
jsonData.message // the error detail 
jsonData.stacktrace // the error stack

кстати, в исходном файле стек не может быть отображен, так как в error.err нет аргумента 'stack' (он называется 'stacktrace').

Наконец, данные о сбоях (на уровне тестового шага / тестового сценария) могут быть восстановлены из объекта «сбои»:

stringFailure = JSON.stringify(failures); jsonFailure = JSON.parse(stringFailure);

из этого я извлекаю:

jsonFailure[0].name // the failure type 
jsonFailure[0].stack // the failure stack

Для своей цели я добавляю детали ответа от jsonExecutions к своим данным об ошибках в тестовом пакете, которые в XML-отчете гораздо более подробны, чем раньше.

Если есть более чистый / умный способ сделать это, не стесняйтесь сказать мне, я буду благодарен

Следующий шаг: очистите его, создав собственный репортер. :)

Александр

person A.Joly    schedule 05.07.2017