我注意到X-CSRFToken
对于从被测应用程序触发的所有 XHR 请求,标头在测试之间被删除。我不确定是否保留此标头,因为我已经通过以下方式保留了 CookieCypress.Cookies.preserveOnce('sessionid', 'csrftoken')
因此,我想到附加自定义标头X-CSRFToken
来自应用程序的所有 XHR 请求。这是我使用的脚本,我在其中获取csrftoken
从 cookie 和设置到自定义标头。
cy.server({
onAnyRequest: function(route, proxy) {
proxy.xhr.setRequestHeader('X-CSRFToken', cy.getCookie('csrftoken'));
}
})
在这里,我收到以下错误,
Argument of type '{ onAnyRequest: (route: any, proxy: any) => void; }' is not assignable to parameter of type 'Partial<ServerOptions>'.
Object literal may only specify known properties, and 'onAnyRequest' does not exist in type 'Partial<ServerOptions>'.
我期待这种方法的任何可行解决方案或更好的解决方案。
Now cy.server
已弃用,您可以使用cy.intercept
反而:
cy.intercept('http://api.company.com/', (req) => {
req.headers['authorization'] = `token ${token}`
})
更多信息在docs https://docs.cypress.io/api/commands/intercept.html#Usage.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)