在 Cypress 中调用 Chainer 对象

Invoke Chainer object in Cypress

在 Cypress 中是否可以调用 Chainer 来获取 get 请求的结果?

 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

你做不到(不在同一个代码块中)。

您正在考虑 async/await 模式,但 Cypress 不支持它。

您可以使用 beforeEach() 块来设置闭包变量或别名。

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

  let response;

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

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

或使用别名将响应置于 this

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

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

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