了解赛普拉斯cy.route

时间:2019-08-20 05:54:41

标签: routes cypress

我以前成功地用cy.route编写了断言。但是,编写新的测试以测试GETPOST请求的成功(200)响应使我怀疑我的理解。我已经反复阅读了相关文档并观看了有关柏树的视频,但是我的新测试仍然无法正常运行。

我的代码使用以下模式

cy.server();      
cy.route({method:'POST', url: '/api/**'}).as('call');    

//click the button that triggers the request .   
cy.get('#button').click(); 
cy.wait('@call').then((xhr)=>
    {
        //assert returned status code ===200
    }

);

我目前的理解是cy.route的行为类似于事件侦听器,但是在这种情况下,侦听对匹配URL的POST请求。

单击发送请求的按钮时,将按常规发送请求,但是cy.route会收到警报并等待(cy.wait)响应。

我的理解正确吗?点击发生的顺序是否重要?也就是说,我无法发送请求然后设置侦听器?

1 个答案:

答案 0 :(得分:0)

  1. 是的,cy.route是xhr请求的侦听器
  2. 是的,顺序很重要,首先我们需要定义侦听器,然后应该发生xhr请求。即cy.route不会跟踪在定义之前发生的xhr调用