繁体   English   中英

通过Cypress.io捕获所有XHR请求

[英]Capture all XHR Requests with Cypress.io

当我调用URL时,发送的请求数量不确定。

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

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

cy.route({
    method: 'POST',
    url: '**/t/e/**',
}).as('xhrRequest');

我在如何捕获赛普拉斯中的所有API调用上找到了类似的方法 至今。 这里的问题是假定了固定数量的API调用。

cy.wait(Array(60).fill('@xhrRequest'), { timeout: 30000 }).then((xhrs) => {
    xhrs.forEach((res) => {
        expect(res.status).not.to.be.null
    })
})

如果没有包含有效负载的单个请求,我如何才能截获所有请求并使我的测试失败。

我已经在p里写了这样的东西

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

await page.setRequestInterception(true);

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

系统检查每个请求是否为特殊请求之一,并相应地设置变量。 像这样的东西我尝试用赛普拉斯重新创建。

您可能会考虑执行cy.exec并使用另一种语言运行脚本并从子进程返回状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM