我的测试调用的API生成了错误文件。错误输出到文件,&屏幕显示错误文件ID。 在测试仍在运行的同时,我可以使用apiKey和fileID下载这些文件,但是此后它就消失了。 如果可以将此文件输出到我的浏览器(通过下载),以便可以看到它,将非常方便。目前,我只能通过在测试代码中添加cy.pause()来获得它,以在创建错误文件后暂停测试。
向我显示fileID的代码行:
cy.log('resultsCsvFileId: ' + res.import.resultsCsvFileId);
答案 0 :(得分:1)
您实际上可以如下使用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文件的解决方法,
安装npm
软件包csvdata
https://www.npmjs.com/package/csvdata
npm install --save-dev csvdata
在cypress项目->插件index.js
文件中,放置以下代码,
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)
})
})
})