Invoke Chainer object in Cypress

Viewed 90

Is that possible in Cypress to invoke the Chainer to obtain the results of a get request?

 let chainer = cy.request(
          {
            url: "http://localhost:8080/v1/submit",
            method: "GET",
            timeout: timeouts.request,
            failOnStatusCode: failOnStatusCode
          })
 let response = chainer.invoke() /// <---- THIS DOESN"T EXISTS

 console.log(response) // I would like to use response here
1 Answers

You can't do it (not in the same code block).

You are thinking of the async/await pattern, but Cypress does not support it.

You can use a beforeEach() block to set a closure variable or an alias.

describe('request a variable', () => {

  let response;

  before(() => {
    cy.request(...).then(res => response = res)
  })

  it('uses response', () => {
    console.log(response)
  })
})

or use an alias to put the response on this

describe('request a variable', () => {

  before(function() {
    cy.request(...).as('response')  
  })

  it('uses response', function() {
    console.log(this.response)
  })
})
Related