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

497
Visualizações
Cypress: ¿Cómo verificar los parámetros de consulta en la solicitud de recuperación?

Estoy tratando de interceptar una solicitud de recuperación y afirmar que los parámetros de carga/consulta son correctos. He buscado en la documentación de Cypress, pero todo lo mencionado está configurando parámetros de consulta. Yo, por ejemplo, necesito afirmar que una solicitud de búsqueda como https://helloWorld.com/proxy/service tiene parámetros de consulta /carga útil de ?service=request&layers=demo . ¿Hay alguna forma de hacer esto?

He intentado casi todo, pero algo similar a esto es lo que estoy buscando. ¿Algunas ideas?

 cy.location("https://helloWorld/proxy/service").should((loc) => { expect(loc.search).to.eq('?service=request&layers=demo') })
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La configuración de una intercepción puede verificar la forma de la solicitud

 cy.intercept('https://helloworld.com/proxy/service').as('requestWithQuery') // trigger the request cy.wait('@requestWithQuery').then(interception => { expect(interception.req.body.query.includes('service=request').to.eq(true) })

No estoy seguro de si la afirmación anterior es exactamente lo que necesita, pero coloque un console.log(interception.req) para verificar lo que necesita afirmar.


La intercepción también puede especificar la consulta.

 cy.intercept({ pathname: 'https://helloworld.com/proxy/service', query: { service: 'request', layers: 'demo' }, }).as('requestWithQuery') // trigger the request cy.wait('@requestWithQuery')

Por cierto, su uso de cy.location() es incorrecto, usaría

 cy.location('search').should('eq', '?service=request&layers=demo') // or cy.location().should((loc) => { expect(loc.href).to.eq( 'https://helloworld/proxy/service?service=request&layers=demo' ) })

Pero la aplicación ya tendría que haber navegado a https://helloWorld/proxy/service y no está claro a partir de su pregunta si eso está sucediendo.


Captura de "helloWorld/proxy/service"

Cuando su aplicación usa fetch , la URL se convierte a minúsculas.

Entonces, enviar fetch('https://helloWorld/proxy/service') puede ser interceptado con

 cy.intercept('https://helloworld/proxy/service') // all lower-case url

Hay una pista en el registro de Cypress, la recuperación registrada se muestra como todos los caracteres en minúsculas

(buscar) OBTENER https://helloworld/proxy/service

BaseUrl e intercepción

Cuando baseUrl es un dominio diferente del nombre de host de intercepción, puede especificarlo con una opción adicional, aunque en la práctica descubrí que también funciona con la URL completa, como se muestra arriba.

 cy.intercept('/proxy/service*', { hostname: 'https://helloworld' })
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