在Cypress中加载网页时,是否可以拦截两次sami-api调用



当加载网页时,我试图拦截API调用两次(使用不同的主体((使用别名并使用塞浦路斯等待方法(。我注意到它只调用了两次第二次拦截。在柏树中有没有一个内置的解决方案,我们可以在加载网页时使用它来拦截同一个api调用两次?

cy.intercept('POST', '/SomeUrl', {
statusCode: 200,
fixture: 'jsonname.json',
times: 1,
}).as('alias');
cy.intercept('POST', '/SomeUrl', {
statusCode: 200,
fixture: 'jsonname2.json',
times: 1,
}).as('alias2');
cy.visit('https://www.url.com')
.wait('@alias')
.wait('@alias2')

Cypress UI中的Routes输出向我们显示了以下结果:

存根#是-[/tr>是
方法URL别名
POST**/SomeUrl别名
POST**/SomeUrl别名2

您可以等待一个别名数组(https://docs.cypress.io/api/commands/wait#Aliases)。

因此,您可以尝试以下代码。

cy.visit('https://www.url.com')
cy.wait(['@alias', '@alias2'])

使用解决

cy.intercept('POST', '/SomeUrl', (req) => {
if (req.body.Objectstatus === 1) {
req.reply({
statusCode: 200,
fixture: 'alias.json',
});
}
if (req.body.Objectstatus  === 1) {
req.reply({
statusCode: 200,
fixture: 'alias2.json',
});
}
}).as('alias');
});

相关内容

  • 没有找到相关文章

最新更新