赛普拉斯API请求:大小和响应时间的断言

时间:2020-07-28 09:42:20

标签: cypress

我正在使用

cy.request()

用于发送GET和POST请求,我希望对响应添加以下检查:

  1. 响应时间应少于Y秒
  2. 响应大小应小于X KB

对于GET请求,我可以使用超时功能来确保响应时间小于Y秒

cy.request('www.abc.com/home',{timeout:1000}).then((response) => {
        expect(response.status).to.eq(201)
    })

问题1

我不能在POST请求中使用超时功能;该请求可以正常运行而无需添加{timeout:1000},但在添加请求时会显示此错误。

enter image description here

我需要帮助!

问题2

我还需要检查响应大小,并且我不知道可以用于上述目的的任何方法

1 个答案:

答案 0 :(得分:0)

不久前我找到了解决此问题的方法,但忘了在这里提及它们。

响应时间:

你们可以使用

cy.request('<method-here>','<url-here>','<body-here>').then(()=>{
// this assertion expects response time to be less than 1 second i.e 1000 milliseconds
   expect(response.duration).to.not.be.greaterThan(1000)   
})

响应时间:

你们可以使用

cy.request('<method-here>','<url-here>','<body-here>').then(()=>{
// this assertion expects response time to be less than 2 kB i.e 2048 bytes
   expect(parseInt(response.headers[`content-length`])).to.be.lessThan(2048)   
})