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

506
Vistas
Cypress: obtener "El parámetro suministrado a cy.request () contenía una referencia circular en la ruta specWindow" al usar el comando dentro de un comando

Tengo 2 comandos diferentes que pretendo usar uno dentro del otro. El primero genera un objeto y el segundo lo usa para enviar como cuerpo de un cy.request. se ven así

 Cypress.Commands.add("objectGeneration", function(search, method, block){ let body = {} if(search === 'something') { body.search = search, body.method = method, body.block = block } return body }) Cypress.Commands.add("sendReq", (search, method, block) { cy.request({ method: 'POST', URL: 'URL', body: cy.objectGeneration(search, method, block) }) })

En mi prueba, los llamo de esta manera (donde cada variable testCase proviene de un objeto auxiliar que importo a mi caso de prueba).

 it("Name of the test", function(){ cy.sendReq(testCase.search, testCase.method, testCase.block).then((resp => {..}... })

Al intentar ejecutar esto, aparece el siguiente error de Cypress:

El parámetro del cuerpo proporcionado a cy.request() contenía una referencia circular en el cuerpo de la ventana de especificaciones de la ruta y solo puede ser una cadena o un objeto sin referencias circulares.

Todo esto funcionaría bien cuando objectGeneration fuera solo una función y no un comando. Creo que mi problema podría tener que ver con el retorno de un comando. ¿Alguna sugerencia? Gracias

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Me encontré con un problema similar al intentar enviar un valor decimal (usando decimal.js) como parte del cuerpo.

Al final serialicé el objeto yo mismo y lo envié así en la solicitud. En tu caso, creo que esto también debería funcionar:

 Cypress.Commands.add("sendReq", (search, method, block) { const serialized = JSON.stringify(cy.objectGeneration(search, method, block)) cy.request({ method: 'POST', URL: 'URL', body: serialized, headers: { 'Content-Type': 'application/json' } }) })
about 4 years ago · Juan Pablo Isaza 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