Есть ли способ вывести файл из Cyner Test Runner? - PullRequest
0 голосов
/ 04 марта 2019

Есть файлы ошибок, сгенерированные API, которые вызывают мои тесты.Ошибки выводятся в файл, а на экране отображается идентификатор файла ошибок.Я могу загрузить эти файлы, используя apiKey и fileID, пока тест еще продолжается, но после этого он пропал.Было бы очень удобно, если бы я мог вывести этот файл в свой браузер (через загрузку), чтобы я мог его увидеть.В настоящее время я могу получить его, только добавив cy.pause () в мой тестовый код, чтобы приостановить тест после создания файла ошибки.

Строка кода, которая показывает мне fileID:

cy.log('resultsCsvFileId: ' + res.import.resultsCsvFileId);

1 Ответ

0 голосов
/ 05 марта 2019

На самом деле вы можете использовать cy.writeFile(), как показано ниже,

cy.request('https://dummy.url').then((response) => {
  cy.writeFile('cypress/fixtures/response.csv', response.import.resultsCsvFileId)
})

. Вы можете ссылаться на документы здесь - https://docs.cypress.io/api/commands/writefile.html#JSON

Но это каждый раз перезаписывает файл.Вот обходной путь для добавления необходимых данных в файл CSV,

  1. Установка npm пакет csvdata https://www.npmjs.com/package/csvdata

    npm install --save-dev csvdata

  2. В проекте cypress -> plugins index.js file поместите следующий код,

const csvdata = require('csvdata')
on('task', {
    log(message) {
        csvdata.write('./logs.csv', message, {
            append: true,
            header: 'stats,numusers'
        })
        return null
    }
})
Затем все задачи log будут добавлены в файл CSV,

.

describe('My First Test', function() {
    it('Visits the Kitchen Sink', function() {
      cy.visit('https://example.cypress.io')
      cy.contains('type').then(($el) => {
          var data = "inService, 30";
          cy.task('log', data)
      })
    })
})

Ссылка: https://github.com/cypress-io/cypress/issues/1249

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...