我有一个Cypress测试,它使用带有cy.intercept
的存根响应。我们拦截的请求是在后端轮询端点-我们每秒发出一个请求,直到响应中的状态属性发生变化。
我是Cypress的新手,所以我可能对您实际可以测试的内容有错误的想法,但是我想检查的是向此端点发出请求的频率,即Assert轮询以正确的速率(一次/秒)完成。
这可能与Cypress有关吗?或者我也许应该研究一些其他的工具?
下面是我们如何拦截网络呼叫(简化):
cy.intercept(
{
method: 'GET',
path: '/api/user',
},
{
body: {
id: '1',
status: 'UPDATED', // This is the status that eventually stops the polling
// etc.
},
}
).as('getUserUpdated');
cy.intercept(
{
method: 'GET',
path: '/api/user',
times: 2,
},
{
body: {
id: '1',
status: 'CREATED',
// etc.
},
}
).as('getUserCreated');
1条答案
按热度按时间jvlzgdj91#
下面是一个简单的脚本,它以1秒的间隔轮询API大约10秒
如果我想用
cy.intercept()
测试它,我基本上会使用intercept的回调形式,并在其中记录时间。但是第一个间隔时间被
cy.visit()
页面加载扭曲了,所以第二个cy.interval()
可以捕获并丢弃它--但是您也可以只对polls数组执行.slice()
操作。注意设置
cy.interval()
的顺序-最后设置的是Cypress检查的第一个(然后由于{times:1}
,它在1次捕获后过期)。