Спасибо большое за видосы многое подчерпнул А с jest как обстоят дела? Использую axios хотел бы interceptors в отчет запихать, но не смог такой же красивый логинг написать как у тебя (немного подругому делаю проект). Нету ничего почитать про настройку jest-allure?
Привет, спасибо за отзыв! Я реализовывал практически такой же стек только с jest вместо mocha, вполне жизнеспособный вариант. Там есть репортер аллюр, завелся аналогично без проблем. К сожалению у axios насколько я помню нет возможности добавлять такие листенеры, как я показал, но можно реализовать эту же логику просто через try/catch
так в response interceptor ви маєте доступ до всіх даних по реквесту і респонсу (через response, який має тип AxiosResponse): const createAxiosResponseInterceptor = () => { const interceptor = client.interceptors.response.use( (response) => responseSuccessHandler(response), (error) => responseErrorHandler(error, interceptor) ); }; А вже у функціях responseSuccessHandler/responseErrorHandler напихуєте потрібний код для аттачменту в Аллюр. const responseSuccessHandler = (response: AxiosResponse) => { attachResponseDataToReporter(response); // attach content to allure report here return response; }; Не так зручно і дещо громіздке, але задачу вирішує :)
Статус теста известен только после его завершения. Можно попробовать сохранять логи где то в переменную, и если тест упал - только тогда атачить их в репорт.
@@HOTtesting в том то и фишка) когда ответы по пару мегабайт, и много тестов, то аттачить все не вариант. А еще сам фронт аллюра дико глючный когда репорт большой ;)
Підскажіть будь ласка, чи будуть курси по WebdriverIO 7?
Добрый день, напишите в личку в телеграм - @xotabu4
Спасибо большое за видосы многое подчерпнул
А с jest как обстоят дела?
Использую axios хотел бы interceptors в отчет запихать, но не смог такой же красивый логинг написать как у тебя (немного подругому делаю проект). Нету ничего почитать про настройку jest-allure?
Привет, спасибо за отзыв!
Я реализовывал практически такой же стек только с jest вместо mocha, вполне жизнеспособный вариант. Там есть репортер аллюр, завелся аналогично без проблем. К сожалению у axios насколько я помню нет возможности добавлять такие листенеры, как я показал, но можно реализовать эту же логику просто через try/catch
@@HOTtesting спасибо большое!
так в response interceptor ви маєте доступ до всіх даних по реквесту і респонсу (через response, який має тип AxiosResponse):
const createAxiosResponseInterceptor = () => {
const interceptor = client.interceptors.response.use(
(response) => responseSuccessHandler(response),
(error) => responseErrorHandler(error, interceptor)
);
};
А вже у функціях responseSuccessHandler/responseErrorHandler напихуєте потрібний код для аттачменту в Аллюр.
const responseSuccessHandler = (response: AxiosResponse) => {
attachResponseDataToReporter(response); // attach content to allure report here
return response;
};
Не так зручно і дещо громіздке, але задачу вирішує :)
@@vinsorder746 спасибо! Я просто пока не понял как в аллюр это запихать
На питоне было просто - декоратор поставил и ок)
Че насчёт логирования только для зафейленых тестов?
Статус теста известен только после его завершения. Можно попробовать сохранять логи где то в переменную, и если тест упал - только тогда атачить их в репорт.
Но тут прийдется здорово забурится и написать свой репортер, а еще проверить как это будет работать при включенной паралелизации
@@HOTtesting в том то и фишка) когда ответы по пару мегабайт, и много тестов, то аттачить все не вариант. А еще сам фронт аллюра дико глючный когда репорт большой ;)
@@MegaUkrainian1991 кстати, в моем примере очень легко можно дописать if, чтобы атачить только для 4хх 5хх статус кодов