Javascript 如何使用cypress循环处理请求? 功能资产响应代码200(请求){ cy.wait(请求)。然后(响应=>{ expect(response.status).to.eq(200); }); } 函数检查字典(){ var requesturl=[ “请求URL 1”, “请求URL2”, "..." ]; for(设i=0;i{ cy.server(); 检查字典(); });

Javascript 如何使用cypress循环处理请求? 功能资产响应代码200(请求){ cy.wait(请求)。然后(响应=>{ expect(response.status).to.eq(200); }); } 函数检查字典(){ var requesturl=[ “请求URL 1”, “请求URL2”, "..." ]; for(设i=0;i{ cy.server(); 检查字典(); });,javascript,for-loop,web,automated-tests,cypress,Javascript,For Loop,Web,Automated Tests,Cypress,CypressError:Timed out重试:cy.wait()等待路由的第一个请求5000ms时超时:“request1”。从未发生任何请求。 我想循环处理请求,并检查是否一切正常,响应代码是否为200。但是我被卡住了,因为唯一一个得到别名的url是我数组中的第一个url,但是我需要我的requestURL数组的所有元素都用request${I}别名。我的代码有什么问题吗,或者cypress中的路由无法用于for循环?我认为您遇到的问题是,您每次只等待一个请求完成,但请求以随机顺序异步完成

CypressError:Timed out重试:cy.wait()等待路由的第一个请求5000ms时超时:“request1”。从未发生任何请求。


我想循环处理请求,并检查是否一切正常,响应代码是否为200。但是我被卡住了,因为唯一一个得到别名的url是我数组中的第一个url,但是我需要我的
requestURL
数组的所有元素都用
request${I}
别名。我的代码有什么问题吗,或者cypress中的路由无法用于for循环?

我认为您遇到的问题是,您每次只等待一个请求完成,但请求以随机顺序异步完成,因此有时您可能正在等待已完成的请求

cy.wait()

const别名=[];
for(设i=0;i
  function AssertResponseCode200(request) {
    cy.wait(request).then(response => {
      expect(response.status).to.eq(200);
    });
  }

  function CheckDictionaries() {
    var requestUrls = [
      "requestUrl1",
      "requestUrl2",
      "..."
    ];

    for (let i = 0; i < requestUrls.length; i++) {
      cy.route("GET", requestUrls[i]).as(`request${i}`);
      AssertResponseCode200(`@request${i}`);
    }
  }

  it("Assert dictionaries", () => {
    cy.server();
    CheckDictionaries();
});
const aliases = [];
for (let i = 0; i < requestUrls.length; i++) {
  aliases.push(`@request${i}`);
  ...
}

cy.wait(aliases);