PyCharm 2025.3 Help

Cypress 自定义命令

自定义命令 提供了一种在整个 Cypress 测试套件中复用某些方法或函数的方式。 例如,您可以编写一个用于让用户登录的命令,并在项目中需要时复用它。

PyCharm 支持自定义命令,这意味着重命名、导航、代码补全和检查等所有编码辅助功能可立即使用。

自定义命令的编码辅助

特定于 Cypress 的检查

Cypress 使用一种 链式机制 ,使您能够编写一系列命令,其中信息从一个命令传递到下一个命令,直到链结束或发生错误。

但是,该机制有一些特殊性。 例如,任何 操作命令必须始终放在链的末端且只能使用一次。

在此示例中,该链包含两个依次放置的操作命令,这是不允许的。 执行此测试将导致错误。

it('Click the search button and type Cypress', () => { cy.get("button[data-test='search-button']") .click() .type('Cypress') })

在此示例中,该链被分成两段,因此每段链仅包含一个操作命令。 该测试将顺利执行。

it('Click the search button and type Cypress', () => { cy.get("button[data-test='search-button']").click() cy.get("input[data-test$='inner']").type('Cypress') })

在 JavaScript/TypeScript 中不会对命令链进行验证,而在 Cypress 中仅会在运行时进行,这可能在测试执行期间导致问题。 相应地,PyCharm 提供针对链式命令的检查,高亮显示不正确的用法。

对不正确的链式命令的检查

针对函数的检查

PyCharm 会执行针对函数的代码检查,用于检测并纠正项目中的异常代码。

例如,如果为该命令提供的参数数量或类型不正确,错误的代码会被高亮显示。 您可以将鼠标悬停在高亮显示的代码上以查看错误说明。

Aqua ts function specific inspections

有关详细信息,请参阅 代码检查

重命名

如果需要重命名该命令,您可以使用 重命名重构。 操作步骤:

  1. 高亮显示您要重命名的命令。

    高亮显示的命令
  2. Shift+F6 ,并为该命令提供新名称。

    重命名该命令
  3. (可选)配置其他搜索选项并定义范围。

  4. 点击 重构

有关详细信息,请参阅 重命名重构

创建自定义命令

要创建自定义命令,您需要先编写命令,然后为其创建 TypeScript 声明。 操作步骤:

  1. 在代码编辑器中编写您的命令。

    用 TypeScript 编写的自定义命令
    用 TypeScript 编写的自定义命令
  2. 将鼠标悬停在高亮显示的代码上并点击 创建缺失的 TypeScript 声明

    或者,将插入符号置于高亮显示的代码处,按 Alt+Enter ,然后选择 创建缺失的 TypeScript 声明

    创建 TypeScript 声明
    创建 JavaScript 声明

因此,将生成 TypeScript 声明并将其添加到 cypress/support/index.d.ts 文件中。

生成的 TypeScript 声明

您可能希望在命令实现与相应的 TypeScript 声明之间进行导航:

  • 要导航到 TypeScript 声明,请在命令实现附近的装订区域中点击

    导航到 TypeScript 声明
  • 要导航回命令实现,请在 TypeScript 声明附近的装订区域中点击

    导航到命令实现

使用自定义命令

一旦 创建了自定义命令,您即可在代码中使用它。 操作步骤:

  • 在测试中,键入 cy. ,然后输入自定义命令名称。

    自定义登录命令
    自定义登录命令用法

更改命令文件的位置

默认情况下,包含生成的 TypeScript 声明的文件位于 cypress/support/commands.ts 。 如果您想更改位置:

  1. Ctrl+Alt+S 打开设置,然后选择 语言 & 框架 | Cypress

  2. 用于存储自定义命令 TS 声明的 TypeScript 文件 字段中,指定新路径。

    指定新路径
  3. 应用更改并关闭对话框。

最后修改日期: 2025年 12月 2日