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

1.1K
Visualizações
Cypress: extrae el valor del cuerpo JSON a una variable

Estoy usando cypress.io para probar una API (creada con Node.js). Quiero extraer valor de la respuesta JSON de la API y guardarlo en una variable.

Probé las soluciones mencionadas en los enlaces a continuación, pero no funcionó: Cypress: obtenga valor del cuerpo de respuesta json

A continuación se muestra el código que estoy usando para probar la API:

 /// <reference types="cypress" /> describe("Testing Provider Catalog API", () => { it("Provider Catalog API GET Request", () => { cy.request('GET', 'v1/providers') .then((response) => { expect(response).to.have.property('status', 200) expect(response.body).to.not.be.null // expect(response.body.providers).to.have.length(1) }) cy.screenshot() }) it("Provider Catalog API POST Request", () => { const provider = { "type": "loadboard", "name": "123loadboard" }; cy.request('POST', 'v1/providers', provider) cy.screenshot() }) it("Provider Catalog API PUT Request", () => { const provider = { "type": "loadboard", "name": "123loadboard" }; cy.request('PUT', 'v1/providers/61a54a66a2b734859481931c', provider) cy.screenshot() }) it("Provider Catalog API DELETE Request", () => { cy.request('DELETE', 'v1/providers/61a68e7ca6011e605029191b') cy.screenshot() }) })

A continuación se muestra el código que estoy usando

 var providerId cy.wait('@newObject').then((response) => { expect(response.status).to.eq(201) expect(response.responseBody).to.have.property('_id') const body = (response.responseBody) providerId = body['_id'] }) cy.get(someInput).type(newId)

Salida de muestra de la API:

 { "_id":"61a54ba1a2b7348594819323", "type":"loadboard", "name":"123loadboard", "__v":0 }

Quiero almacenar el valor de _id en una variable y usarlo más tarde. Lo he estado intentando durante los últimos días y nada parece funcionar. Alguien puede ayudarme por favor. Gracias por adelantado.

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

0

La forma recomendada de usar variables con ciprés es con alias. Ver documentos aquí .

En su código, puede wrap() su _id y guardarlo como un alias, luego llamar a su alias en otro lugar de su código:

 cy.wait('@newObject').then((response) => { expect(response.status).to.eq(201) expect(response.responseBody).to.have.property('_id') cy.wrap(response.responseBody._id).as('newId') }) // then later in your code use: cy.get('@newId').then((newId) => { cy.get(someInput).type(newId) })

También puede type() su _id dentro de su wait() :

 cy.wait('@newObject').then((response) => { expect(response.status).to.eq(201) expect(response.responseBody).to.have.property('_id') cy.get(someInput).type(response.responseBody._id) })

O puede usar el objeto de entorno global Cypress.env() . Ver documentos aquí .

 cy.wait('@newObject').then((response) => { expect(response.status).to.eq(201) expect(response.responseBody).to.have.property('_id') Cypress.env('newId', response.responseBody._id) }) // then later in your code use: cy.get(someInput).type(Cypress.env('newId'))
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