Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

500
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!