Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

86
Vistas
How can we read multiple test files from a directory and run one by one in cypress?

I want to integrate a function in a spec.ts file where it will read multiple xml data one by one from a directory and will repeat the tests as long as the directories length.

Is there any way to read multiple files or files name from a folder in Cypress or in JavaScript ?

almost 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

You can use fs to read the content of a directory, and then we can use Cypress Lodash to iterate through that returned array.

import fs from 'fs';

const files = fs.readdirSync('/my/dir/');

describe('My Tests', () => {
  Cypress._.times(files.length, (index) => {
    it(`does some test for the file: ${files[index]}, () => {
      cy.readFile(files[index]).should(...);
    });
  });
});

almost 4 years ago · Santiago Trujillo Denunciar

0

You will need to read the file list in cypress.config.js (for Cypress version 10 and above).

const { defineConfig } = require('cypress')
const fs = require("fs");

module.exports = defineConfig({
  e2e: {
    setupNodeEvents(on, config) {

      const xmlFolder = `${__dirname}/xml-files/`;
      const files = fs.readdirSync(xmlFolder)
        .map(file => `${xmlFolder}/${file}`)     // add folder path

      config.xmlFiles = files                    // put in config for test
      return config
    }
  }
})

In the test,

describe('Creating one test for each XML file', () => {

  Cypress.config('xmlFiles')
    .forEach(fileName => {

      it(`Testing ${fileName}`, () => {

        cy.readFile(fileName)
          .then(xml => {
            ...
          })
      });
    });
})

For Cypress version 9 and below use plugins.index.js:

module.exports = (on, config) => {
  on('before:run', (spec) => {

    const xmlFolder = `${__dirname}/xml-files/`;
    const files = fs.readdirSync(xmlFolder)
      .map(file => `${xmlFolder}/${file}`)     // add folder path

    config.xmlFiles = files                    // put in config for test
  })
  return config 
}
almost 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda