Что касается реализации крутых отчетов, пользовательских команд Cypress и перехвата вызовов XHR с сетевого уровня, то это одни из моих самых любимых функций Cypress.

– Структура проекта GitHub:https://github.com/SA-gpu/cypressTraining.git
– Посетите сайт HRMS https://opensource-demo. Orangehrmlive.com
 – Интеграция отчетов в формате mochawesome html
 – Объединение нескольких отчетов в один отчет
 – Использование пользовательских команд Cypress
 – Перехват сетевых вызовов

Mochawesome — это настраиваемый генератор отчетов для использования с инфраструктурой тестирования Javascript, mocha. Он работает на Node.js (›=10) и работает вместе с mochawesome-report-generator для создания отдельного отчета HTML/CSS, помогающего визуализировать ваши тестовые прогоны.
Объединение нескольких файлов в один файл Mochawesome-mergeОтчеты JSON.

Установите mochawesome, mochawesome-merge, mochawesome-report-generator и rimraf из npm.

В файле cypress.json добавьте этот фрагмент для создания отчетов

"reporter":"mochawesome",
"reporterOptions":{
"reportDir":"cypress/reports",
"reportFileName": "report",
«перезаписать»: false,
«html»: true,
«json»: true,
«диаграммы»: true

Теперь добавим скрипт объединения файла отчета в файл package.json внутри скрипта. Что я уже показал, как сделать в этой статье, создав папку отчетов в Cypress.
Это скрипт объединяет все файлы json из-за выбора подстановочных знаков *.json файлы в файл Test-Report.json.
/эм>

"merge_report": "mochawesome-merge cypress/reports/*.json -o cypress/reports/Test-Report.json"

Этот скрипт создает файл Test-Report.html и получает данные из файла Test-Report.json.

«generate_report»: «marge cypress/reports/Test-Report.json — reportDir ./ — inline — charts — showSkipped — ts»

Этот скрипт объединяет два скрипта, которые запускаются один за другим: merge_report и generate_report. Если merge_report успешно запущен, то будет выполнен generate_report.

"final_report": "npm run merge_report && npm run generate_report"

Этот скрипт удаляет отчеты из папки.

“clean_reports”: “rimraf cypress/reports/*”

Этот скрипт запускает тесты в режиме электронного заголовка.

"run_test_with_report":"прогон кипариса — спецификация — электронная версия браузера — заголовок"

Сначала этот скрипт очистит папку отчетов, запустит тестовые случаи и создаст окончательный отчет. В консоли вы получите ссылку на сгенерированный окончательный отчет.

“TestRunnerReport”: “npm run clean_reports && npm run run_test_with_report && npm run final_report”

Пользовательские команды Cypress. Cypress поставляется с собственным API для создания пользовательских команд и перезаписи существующих команд. В файле support/commands.js добавьте пользовательскую команду и используйте ее в тест-кейсах.

Используя пользовательские команды, несколько ступеней будут пристегнуты в одном месте. Вы вызываете команду только со ссылкой cy.

Вызов XHR: Cypress помогает протестировать весь жизненный цикл запросов Ajax/XHR в вашем приложении. Cypress предоставляет вам прямой доступ к объектам XHR, позволяя вам делать утверждения о его свойствах. Кроме того, вы даже можете заглушить и имитировать ответ на запрос.

Здесь я сделал утверждение для ответа XHR сетевого уровня, который будет использоваться в тестовом примере.

Тестовые примеры, выполненные с помощью npm, запустите TestRunnerReport, и его снимок экрана прилагается.

1. Удалить файлы из папки отчетов.
2. Запустить тестовые примеры в режиме заголовка браузера.
3. Объединить все отчеты.
4. Наконец, один отчет будет иметь имя Test-Report.< br /> 5. Генерируется отчет на основе HTML.

P.S. Обновленный код отправлен на github.