Javascript 使用Cypress.io捕获所有XHR请求

Javascript 使用Cypress.io捕获所有XHR请求,javascript,cypress,Javascript,Cypress,当我调用URL时,会发送未定义数量的请求 现在,我试图找出其中一个请求是否包含某个负载 cy.server(); cy.visit(url); cy.route({ method: 'POST', url: '**/t/e/**', }).as('xhrRequest'); 到目前为止,我已经找到了类似的方法。 这里的问题是假定API调用的数量是固定的 cy.wait(Array(60).fill('@xhrRequest'), { timeout: 30000 }).the

当我调用URL时,会发送未定义数量的请求

现在,我试图找出其中一个请求是否包含某个负载

cy.server();
cy.visit(url);

cy.route({
    method: 'POST',
    url: '**/t/e/**',
}).as('xhrRequest');
到目前为止,我已经找到了类似的方法。 这里的问题是假定API调用的数量是固定的

cy.wait(Array(60).fill('@xhrRequest'), { timeout: 30000 }).then((xhrs) => {
    xhrs.forEach((res) => {
        expect(res.status).not.to.be.null
    })
})
如果没有一个请求包含有效负载,我如何使所有请求都被拦截并使测试失败

我已经在《木偶演员》中写过类似的东西了

let hasSpecialRequest = false; 
page.on('request', request => {
if (isSpecialRequest(request)) {
    hasSpecialRequest = true; 
}
request.continue();
});

await page.setRequestInterception(true);

expect(hasSpecialRequest).to.equal(true);


系统检查每个请求是否为特殊请求之一,并相应地设置变量。我试着用柏树做些类似的东西

> P>您可以考虑执行Cy.Exc并用另一种语言运行脚本并从子进程返回状态。P> > P>您可以考虑执行Cy.Exc并用另一种语言运行脚本并从子进程返回状态。p>