#javascript #automated-tests #cypress #cypress-cucumber-preprocessor #cypress-testing-library
#язык JavaScript #автоматизированные тесты #кипарис #кипарис-огурец-препроцессор #кипарис-тестирование-библиотека
Вопрос:
Я пытаюсь получить данные об одном тесте в Cypress, например, название, состояние и т. Д., Чтобы я мог создать собственный репортер. Но ни один из приведенных ниже вариантов в forEach не работает. Он возвращает неопределенное значение, но когда я передаю обычную строку, такую как «abcd», она печатается на консоли. Итак, как мне получить атрибуты теста.
first.spec.js
/// lt;reference types="cypress" /gt; context('Actions', () =gt; { afterEach(()=gt; { const testData = cy.state('runnable').currentTest; cy.task('testOutput', {title: testData.title, state: testData.state, fullTitle: testData.fullTitle()}); // also tried // Cypress.on('test:after:run', (test, runnable)=gt; { //cy.task('testOutput', {title: runnable.title, state:runnable.state, fullTitle: runnable.fullTitle()}); //)}; }); it('test 1',()=gt;{ const assets = Cypress.env('assetoverride'); cy.getVar(assets); }) });
plugin/index.js
module.exports = (on, config) =gt; { on('task', { testOutput({title, state, fullTitle}){ console.log(`Test ${fullTitle} - ${state} - ${title}`) return null; } }); }
Ответ №1:
Если вы выполняете свои тесты локально, вы можете запустить их в безредукторном режиме, выполнив команду:
npx cypress run --spec "e2e/integration/NameOfYourTestFile.spec.js" --browser chrome --headless
Таким образом, вы получите таблицу с результатами в терминале: введите описание изображения здесь