結論
ドキュメントに書いてあるとおりです。
The code you write in Cypress is executed in the browser, so you can import or require JS modules, but only those that work in a browser.
具体例
具体例についてもドキュメントに書いてあります。fs
を用いる例です。
// in plugins/index.js const fs = require('fs') module.exports = (on, config) => { on('task', { readFileMaybe(filename) { if (fs.existsSync(filename)) { return fs.readFileSync(filename, 'utf8') } return null }, }) }
cypress.json
の中の pluginsFile
で指定したファイルに記述します。
上記の記述をした上で、テスト中で以下のように呼び出すように買いてあります。
// in test cy.task('readFileMaybe', 'my-file.txt').then((textOrNull) => { ... })
感想
Cypress、かゆいところにも手が届きます。