SCypress捕获所有请求cy.Route()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SCypress捕获所有请求cy.Route()相关的知识,希望对你有一定的参考价值。

enter image description here enter image description here我想捕获所有请求,但是cy.Route()似乎不接受通配符。因此,例如,我想导航到“ Reddit”并捕获所有请求,但是我还希望代码可重用,这样我就可以导航到堆栈溢出并捕获所有请求。

这可能吗?

我尝试过*通配符,但不起作用

cy.route('*').as('GETS');

cy.route(GET, '*').as('GETS');
答案

Cypress自动包含minimatch并将其公开为Cypress.minimatch。根据minimatch documentation,您需要使用"Globstar" ** matching

所有getpost请求的正确方法:

cy.route('GET', '**').as('gets');cy.route('POST', '**').as('posts');

或,

cy.route({
    method: 'GET',
    url: '**'
}).as('gets');


cy.route({
    method: 'POST',
    url: '**'
}).as('posts');

注意:cy.route() should be set before cy.visit()

www.google.com上测试:

Test screenshot

www.instagram.com上的测试:enter image description here

以上是关于SCypress捕获所有请求cy.Route()的主要内容,如果未能解决你的问题,请参考以下文章

运行 e2e 测试时在 cypress 中模拟特定的 graphql 请求

Fiddler大师之路系列

ASP.Net MVC 路由捕获所有 *.aspx 请求

Java Servlet捕获所有Web请求然后调用JSP页面[重复]

如何在 webdriver 中捕获页面发出的所有请求? Browsermob有啥替代品吗?

Fiddler基础使用一之捕获https请求