Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

518
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda