_locale.cy.request 不是函数

Pep*_*Pep 2 javascript testing cypress

我正在尝试在 Cypress 中创建一个基本的登录命令,当我使用 cy.visit() 时它正在工作。

在阅读了 Cypress 之后,我发现使用 UI 登录是一种反模式,因此我尝试切换到调用 cy.request() 以发布到登录路由。

但是,当我尝试这样做时,我收到一个对我来说没有意义的错误:

TypeError: _locale.cy.request is not a function

这是我在 commands.js 中的代码:

Cypress.Commands.add("login", () => {
  cy.request('POST', `${Cypress.config().baseUrl}/login`, {username: 'sysadmin', password: 'test'});
});
Run Code Online (Sandbox Code Playgroud)

这就是它在测试中被调用的地方:

it('Logs in successfully', () => {
  cy.login();
});
Run Code Online (Sandbox Code Playgroud)

据我了解,cy.request 是 Cypress 自带的一个函数,可以接收方法、url 和 body:https ://docs.cypress.io/api/commands/request.html#Syntax

任何人都可以解释为什么 Cypress 无法识别自己的本机功能?

谢谢

小智 10

老问题,我遇到了同样的问题,但我的解决方案是简单地确保import { cy } from 'date-fns/locale';页面顶部没有。