Javascript 如何在cypress(vscode)中实现自定义命令

Javascript 如何在cypress(vscode)中实现自定义命令,javascript,cucumber,cypress,shortcut,Javascript,Cucumber,Cypress,Shortcut,我在Cypress中使用自定义命令,当我直接运行测试时,它工作正常。问题是如何从cy.login()转到实现CTRL+leftclick不执行任何操作 我的command.js文件如下所示: Cypress.Commands.add('login', (email,password) =>{ login.email().type(email); login.password().type(password); }); When("I type in email

我在Cypress中使用
自定义命令
,当我直接运行测试时,它工作正常。问题是如何从
cy.login()
转到实现
CTRL+left
click不执行任何操作

我的
command.js
文件如下所示:

Cypress.Commands.add('login', (email,password) =>{
    login.email().type(email);
    login.password().type(password);
});
When("I type in email and password", function(){
    cy.login('test','testt`)
});
我的
login.js
文件如下所示:

Cypress.Commands.add('login', (email,password) =>{
    login.email().type(email);
    login.password().type(password);
});
When("I type in email and password", function(){
    cy.login('test','testt`)
});
index.js
文件如下:

import './commands'

如果我单击
Ctrl+left
单击
cy.login()
不会将我带到
命令.js
文件。

您需要在Cypress中使用TypeScript才能获得该功能。它没有内置到Cypress中的JavaScript中。

您可以创建Cypress/support/index.d.ts文件

/// <reference types="cypress" />

declare namespace Cypress {
  interface Chainable<Subject> {
    /**
     * Login description
     */
    login(email:string,password:string): Chainable<any>

}
}
//
声明命名空间Cypress{
可链接接口{
/**
*登录说明
*/
登录(电子邮件:字符串,密码:字符串):可链接