小编Kon*_*man的帖子

Cypress - 为所有 XHR 请求添加自定义标头

我注意到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)

我期待这种方法的任何有效解决方案或更好的解决方案。

javascript testing typescript cypress

8
推荐指数
2
解决办法
5304
查看次数

Cypress 装置在 TypeScript 中的使用

我使用 Cypress 和 Javascript 规范,最近改用 Typescript。在使用 Fixtures 时,我在 Javascript 中使用了以下方法;但是,使用 Typescript 我面临一些困难。

夹具 JSON 文件:

我的夹具文件在/cypress/fixtures/sql_queries.json

{
    "query_1": "SELECT * FROM TABLE_1",
    "query_2": "SELECT * FROM TABLE_2",
}
Run Code Online (Sandbox Code Playgroud)

前:

before('Load data to fixture', () => {
     cy.fixture('sql_queries')
         .as('sqlQueries')
})
Run Code Online (Sandbox Code Playgroud)

测试规格:

我在下面的示例测试中使用加载的夹具文件,

it('Test something', () => {
     cy.get('@sqlQueries')
         .then((queries) => {
             cy.log(queries.query_1)
         })
})
Run Code Online (Sandbox Code Playgroud)

问题:

我收到的错误是Property 'query_1' does not exist on type 'JQuery<HTMLElement>

任何帮助,将不胜感激。

javascript testing jquery typescript cypress

5
推荐指数
1
解决办法
5633
查看次数

标签 统计

cypress ×2

javascript ×2

testing ×2

typescript ×2

jquery ×1