Я смог использовать mocha-allure-reporter , просто установив его (вместе с мокко),
npm install mocha mocha-allure-reporter
и настройку скрипта в package.json
, следуя рекомендациям Cypress для репортеров npm здесь
"scripts": {
...
"cypress:run": "cypress run --reporter mocha-allure-reporter"
Обратите внимание, я думаю, что эти репортеры работают только с командой Cypress 'run', а не с командой Cypress 'open'.
Выводом является папка с именем 'allure-results', которая содержит несколько файлов xml. Я полагаю, что они могут быть отображены с помощью инструмента Allure Framework.
Пример выходного файла:
<?xml version='1.0'?>
<ns2:test-suite xmlns:ns2='urn:model.allure.qatools.yandex.ru' start='1547254197911' stop='1547254201289'>
<name>Tasks Page</name>
<title>Tasks Page</title>
<test-cases>
<test-case start='1547254199721' status='passed' stop='1547254199815'>
<name>should have a title</name>
<title>should have a title</title>
<labels/>
<parameters/>
<steps/>
<attachments/>
</test-case>
</test-cases>
</ns2:test-suite>
Запустить код очарования в cy.task ()
Для запуска кода очарования вам необходимо получить доступ к контексту nodejs через cy.task
.
Например,
/ кипарис / плагины / index.js
require('mocha-allure-reporter');
module.exports = (on) => {
on('task', {
allureTestStep () {
const testStep = allure.createStep("initial", () => {
console.log("First Test")
});
testStep()
return null
}
})
}
спецификация
describe("simple test demo", () => {
it("simple passed test", () => {
cy.task('allureTestStep')
});
})
Обратите внимание, что это создает журнал консоли в командном окне, где вы запускаете Cypress, а не консоль браузера.
Однако вы можете передать значение обратно из задачи в тест, в зависимости от того, что вы на самом деле пытаетесь сделать (см. Документацию).