t.me/atinfo_chat Telegram группа по автоматизации тестирования

Mocha + allure как прикрутить репорт к тестам

Теги: #<Tag:0x00007f0800f74158> #<Tag:0x00007f0800f74040> #<Tag:0x00007f07fb477c28> #<Tag:0x00007f07fb477b60>

Всем привет! Написал нагрузочные тесты, теперь хочу прикрутить к ним allure, чтобы строились красивые отчёты

Скачал пример из официальной документации allure

Попробовал его запустить, тесты отработали, но не создалась папочка с результатами тестов.

Может кто делал и есть опыт прикручивания allure к mocha?

Версия
mocha: 8.3.0
node: v10.19.0

нагрузочные тесты на mocha?

Да, написал нагрузочные тесты на mocha)

а что в репорте хочешь увидеть? passed/failed?

Хочу увидеть, на каком абоненте была ошибка + прикрепить логи сервера при неудачном тесте

В поддержке allure порекомендовали перейти на этот фреймворк
Если сталкивались с такой проблемой, напишите, как решили её)

Попробовал, но выдаёт ошибку при запуске

Мой файл package.json

{
  "name": "test_nodejs",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "mocha"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "allure-mocha": "^2.0.0-beta.9",
    "chai": "^4.2.0",
    "chai-http": "^4.3.0",
    "csv-parse": "4.12.0",
    "mocha": "^8.3.0",
    "neat-csv": "5.2.0",
    "socket.io": "latest",
    "socket.io-client": "2.3.0"
  },
  "dependencies": {
    "user-agents": "^1.0.559"
  }
}

Я бы порекомендовал перейти на что-то для перфоманс тестов)

const runtime = require(‘allure-mocha/runtime’)

it(‘is a test’, () => {
runtime.allure.epic(‘Some info’);
});

Зачем Вам эти велосипеды, никаких нормальных нагрузочных тестов на этом тестранере у Вас не получиться, как вы будете управлять виртуальными пользователями и графиками нагрузки? И тем более отчеты в аллюре тоже не предназначены для нагрузочных тестов. Вам же метрики нужны будут и процентные соотношения.
Если Вам важно чтобы был именно JS то используйте - https://k6.io/
А графики через графану выводите

Этот инструмент подходит для тестирования socket.io соединений?

Для веб-сокетов подходит

Нам нужно для socket.io

Так socket.io это просто библиотека которая работает поверх протокола веб-сокет. Эта библиотека судя из описания нужна для создания веб сервера и клиента. Или я неправ?

А https://k6.io/ это как раз клиент который позволит Вам создать нагрузку на любой Ваш эндпоинт используя веб-сокет протокол. Она умеет и сценарии выполнять и проверки делать и репорты сгенерит. И ресурсы не жрет на 8 ядрах и 16 гигах оперативы я получал 25000 RPS

Gatling работает с сокетами

ну, я как бы тоже об этом)

Судя по всему нужен JS, а Gatling на JS скрипты не позволяет писать.

я так понял, нужны перфоманс тесты для сокетов) а JS это или Scala - то уже детали)