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

88
Views
Ejecutando cy.request en un bucle for

Estoy tratando de escribir un código que le permita al usuario especificar la cantidad de elementos para crear a través de Cypress (esta flexibilidad es necesaria para algunas de nuestras pruebas).

 function createSomeItems(itemCount, headers) { item: { id: 0, field1: 123, field2: "test text!"}; let chain; for (let i = 0; i < itemCount; i++) { chain = cy.request({method: 'POST', url: '/create-item', body: item, headers: headers}); item.id += 1; } return chain; }

El problema es que la aplicación da un error debido a la identificación duplicada de los artículos. Por lo que puedo ver, la llamada a cy.request en realidad no se ejecuta cuando creo que lo hace.

Todavía soy muy nuevo en Cypress (y esta es la primera vez que uso JavaScript en aproximadamente 15 años), por lo que no estoy seguro de cómo resolver esto.

Sé que podría tener n llamadas a cy.request().then()... encadenadas explícitamente, aunque esto hará que las pruebas sean grandes y difíciles de leer (especialmente para casos de prueba que requieren valores más grandes de n ) y yo Estoy tratando de mantener el código ordenado y compacto.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Para cualquiera que tenga curiosidad, se me ocurrió una solución que devuelve la cadena de comandos (a diferencia del ejemplo de Cypress ):

 function createSomeItems(itemCount, headers) { let item = { id: 0, field1: 123, field2: "test text!"}; function recursiveRequester(itemNumber, chain) { item.my_id = itemNumber; return chain.then(() => { return cy.request({method: 'POST', url: '/create-item', body: item, headers: headers}); .then(() => { if (itemNumber === itemCount) { return chain; } else { return recursiveRequester(itemNumber + 1, chain); } }) }) } return recursiveRequester(1, functionThatDoesOtherSetupwork()); }
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!