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

345
Visualizações
Cypress: ¿cómo probar el código de estado de las rutas durante toda la prueba?

Tengo una prueba en la que se produce una determinada solicitud de búsqueda unas 70 veces y, al final de la prueba, necesito comprobar que todos los códigos de estado fueran 200 o 204 . Hasta ahora, estoy interceptando la solicitud y puedo verificar el código de estado de response.statusCode para esa solicitud, pero tengo problemas para hacerlo con el resto. Esto es lo que tengo hasta ahora.

 it('Testing', function () { cy.intercept('proxy/test*').as('test') cy.visit('/user/test'); const aliases = []; for (let i = 1; i <= 70; i++){ aliases.push('@test') } ............. ............. cy.wait(aliases).its('response.statusCode').should('eq', 200 || 204)

el error que me sale es

Se agotó el tiempo de reintento después de 4000 ms: error de cy.its() porque la propiedad: la respuesta no existe en su asunto.

cy.its() esperó a que existiera la respuesta de propiedad especificada, pero nunca lo hizo.

¿Alguien puede ayudarme con esto?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Usted dijo alrededor de 70 veces , por lo que si prueba exactamente 70 veces y en realidad es 69, obtiene un error, incluso si todos los códigos de estado son correctos.

Por lo tanto, necesitará un criterio que le indique a la prueba que las búsquedas se han detenido; por lo general, algo en la pantalla solo aparece después de la búsqueda final.

De lo contrario, puede usar una espera fija, pero generalmente intentaría evitar eso.

Ref Interceptar-una-respuesta

 const statusCodes = [] cy.intercept('proxy/test*', (req) => { req.continue((res) => { statusCodes.push(res.statusCode) }) }).as('test') // assert an element on page that only appears after all fetches finished cy.wrap(statusCodes).should(codes => { expect(codes.every(code => code === 200 || code === 204)).to.eq(true) })

Si conoce el número exacto de recuperaciones, es más fácil

 const statusCodes = [] cy.intercept('proxy/test*', (req) => { req.continue((res) => { statusCodes.push(res.statusCode) }) }).as('test') Cypress._.times(70, () => cy.wait('@test')) // exact call count is known cy.wrap(statusCodes).should(codes => { expect(codes.every(code => code === 200 || code === 204)).to.eq(true) })
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