Cypress 自定义命令
自定义命令 提供了一种在 Cypress 测试套件中复用特定方法或函数的方式。 例如,您可以编写一个用于用户登录的命令,并在项目中适用时进行复用。
GoLand 支持自定义命令,也就是说重命名、导航、代码补全和检查等所有编码辅助功能都可以立即使用。
自定义命令的编码辅助
Cypress 专用检查
Cypress 使用一种 链式机制 ,允许编写一系列命令,将信息从一个命令传递到下一个命令,直到链结束或发生错误。
但是,该机制具有一些特殊要求。 例如,任何 操作命令 都必须始终位于链末,并且只能使用一次。
在此示例中,链中包含两个连续的操作命令,这是不允许的。 执行该测试将导致错误。
在此示例中,链被拆分为两部分,因此每个链中仅包含一个操作命令。 该测试将无误地执行。
在 JavaScript/TypeScript 中不会执行命令链的验证,而在 Cypress 中只会在运行时执行,这可能在测试执行过程中导致问题。 而 GoLand 则会对链式命令执行检查,突出显示错误用法。

函数专用检查
GoLand 会执行函数专用的代码检查,以在项目中检测并修复异常代码。
例如,如果为命令提供了错误数量或类型的参数,将会突出显示有错误的代码。 将鼠标悬停在高亮代码上可以查看错误描述。

有关更多信息,请参阅 代码检查。
重命名
如果需要重命名命令,您可以使用 重命名重构。 操作如下:
选中要重命名的命令。

按下 Shift+F6 并为命令提供一个新名称。

(可选)配置其他搜索选项并定义作用域。
单击 重构。
有关更多信息,请参阅 重命名重构。
创建自定义命令
要创建自定义命令,须先编写该命令,然后为其创建 TypeScript 声明。 操作如下:
在代码编辑器中编写命令。


将鼠标悬停在高亮代码上并单击 创建缺失的 TypeScript 声明。
或者,将插入符放在高亮代码处,按下 Alt+Enter ,然后选择 创建缺失的 TypeScript 声明。


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

导航到 TypeScript 声明
您可能希望在命令实现和其对应的 TypeScript 声明之间进行导航:
要导航到 TypeScript 声明,请单击命令实现旁边边距中的
。

要返回命令实现,请单击 TypeScript 声明旁边边距中的
。

使用自定义命令
一旦 创建了自定义命令,您就可以在代码中使用它。 操作如下:
在测试中,输入
cy.,然后输入自定义命令的名称。

更改命令文件的位置
默认情况下,包含生成的 TypeScript 声明的文件位于 cypress/support/commands.ts 。 如果想更改位置:
按下 Ctrl+Alt+S 打开设置,然后选择 。
在 用于存储自定义命令 TypeScript 声明的 TypeScript 文件 字段中指定新路径。


应用更改并关闭对话框