Javascript 如何在cypress中进行依赖cy.request调用

Javascript 如何在cypress中进行依赖cy.request调用,javascript,cypress,e2e-testing,Javascript,Cypress,E2e Testing,我正在尝试测试我的实时web服务器数据响应(例如,没有存根/模拟)。我尝试将cy.server()与cy.route()一起使用,但由于响应的内容类型是application/json,显然cy.server()没有涵盖这一点,cypress错误消息告诉我使用cy.request() 但是,我不能将cy.wait()与cy.request()一起使用。我不得不求助于将第二个cy.request()嵌套在第一个的回调中。有没有办法不将第二个cy.request嵌套在第一个cy.request的回调

我正在尝试测试我的实时web服务器数据响应(例如,没有存根/模拟)。我尝试将
cy.server()
cy.route()
一起使用,但由于响应的内容类型是
application/json
,显然
cy.server()
没有涵盖这一点,cypress错误消息告诉我使用
cy.request()

但是,我不能将
cy.wait()
cy.request()
一起使用。我不得不求助于将第二个
cy.request()
嵌套在第一个的回调中。有没有办法不将第二个
cy.request
嵌套在第一个
cy.request
的回调中

因此,在这个精心设计的示例中,我需要在调用获取
book
数据之前先获取
user
数据。我只能通过将
book
请求嵌套在
user
请求的回调中来实现这一点。我更喜欢使用类似于
cy.wait()
API的东西,而不是嵌套

    it(`should get book based on user`, () => {
      cy.request({
        url: `/user`,
      }).as('user');

      cy.get('@user').then((userResp) => {
        const user = userResp.body;

        cy.request({
          url: `/user/${user.id}/book`,
        }).as('userBook');

        cy.get('@userBook').then((userBookResp) => {
          cy.log(userBookResp);
        });
      });
    });


你为什么不能用赛道和赛道等等?我使用cy.route和cy.wait对wait进行了相同类型的后续路由<代码>cy.route('POST','**/api/**')。as('apiPost');赛维(1500);cy.route('GET','**/api/**')。as('apiGet');赛维(1500)@Shujath你好!我尝试使用
cy.route
,但cypress抛出一个错误,说
cy.route
不能与
application/json
内容类型一起使用。它只适用于
text/html
。我认为解决方案是使用
cy.route2
,但我还没有验证。如果我发现会更新。为什么不能使用cy.route和cy.wait?我使用cy.route和cy.wait对wait进行了相同类型的后续路由<代码>cy.route('POST','**/api/**')。as('apiPost');赛维(1500);cy.route('GET','**/api/**')。as('apiGet');赛维(1500)@Shujath你好!我尝试使用
cy.route
,但cypress抛出一个错误,说
cy.route
不能与
application/json
内容类型一起使用。它只适用于
text/html
。我认为解决方案是使用
cy.route2
,但我还没有验证。如果我发现了会更新的。