我想全局拦截我的应用程序的所有请求和路由的请求标头,包括 html、js 、css
尝试了下面的代码但没有用 尝试过 cy.server 赛路
我尝试拦截的代码。
'use strict'
describe(`TodoMVC using Cypress`, function () {
it('passing request header', () => {
cy.server({
whitelist: (xhr) => {
return xhr.method === 'GET' && /\.(jsx?|html|css)(\?.*)?$/.test(xhr.url)
},
onAnyRequest: (route, proxy) => {
proxy.xhr.setRequestHeader('Referer', '***'),
proxy.xhr.setRequestHeader('Authorization','***')
}
})
var options = {
url: 'http://localhost:8080',
headers: {'Referer': '***','Authorization' :'**='}
};
cy.visit(options);
})
})
这是一个老问题,但在 SEO 中仍然排名很高。因此,您现在可以使用
cy.intercept
来完成此操作。他们的拦截文档包含更多信息,但是要向特定主机的所有请求添加标头,您可以执行以下操作:
// this beforeEach needs to be at the global level, not inside a test
beforeEach(() => {
// baseUrl should be configured in your cypress config
cy.intercept(`${Cypress.config('baseUrl')}/**`, (req) => {
req.headers["My-Header-Key"] = "My Header Value";
});
});