Kon*_*man 8 javascript testing typescript cypress
我注意到X-CSRFToken标题在测试之间被删除,对于从被测应用程序触发的所有 XHR 请求。我不确定是否保留此标头,因为我已经通过以下方式保留了 CookiesCypress.Cookies.preserveOnce('sessionid', 'csrftoken')
因此,我想到将自定义标头附加X-CSRFToken到来自应用程序的所有 XHR 请求。这是我使用的脚本,我csrftoken从 cookie 中获取并设置为自定义标头。
cy.server({
onAnyRequest: function(route, proxy) {
proxy.xhr.setRequestHeader('X-CSRFToken', cy.getCookie('csrftoken'));
}
})
Run Code Online (Sandbox Code Playgroud)
在这里,我收到以下错误,
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>'.
Run Code Online (Sandbox Code Playgroud)
我期待这种方法的任何有效解决方案或更好的解决方案。
为了让大家意识到,我与制作者进行了沟通,Cypress并了解到传出请求的存根正在开发中,可以在以下位置进行跟踪 - https://github.com/cypress-io/cypress/issues/687
小智 5
现在cy.server已弃用,您可以cy.intercept改用:
cy.intercept('http://api.company.com/', (req) => {
req.headers['authorization'] = `token ${token}`
})Run Code Online (Sandbox Code Playgroud)
文档中的更多信息。
| 归档时间: |
|
| 查看次数: |
5304 次 |
| 最近记录: |