【问题标题】:How to go to custom command implementation in cypress (vscode)如何在赛普拉斯(vscode)中进行自定义命令实现
【发布时间】:2021-03-03 03:10:52
【问题描述】:

我在 Cypress 中使用 custom commands,当我直接运行测试时它运行良好。问题是我如何从cy.login() 去实现。 CTRL + left click 不执行任何操作。

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

Cypress.Commands.add('login', (email,password) =>{
    login.email().type(email);
    login.password().type(password);
});

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

When("I type in email and password", function(){
    cy.login('test','testt`)
});

index.js 文件如下:

import './commands'

如果我点击Ctrl + left,点击cy.login() 不会将我带到command.js 文件。

【问题讨论】:

    标签: javascript cucumber cypress shortcut


    【解决方案1】:

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

    /// <reference types="cypress" />
    
    declare namespace Cypress {
      interface Chainable<Subject> {
        /**
         * Login description
         */
        login(email:string,password:string): Chainable<any>
    
    }
    }
    

    在规范文件中

    login.js

    添加以下行

       ///  <reference types="cypress" /> 
       ///  <reference path="../support/index.d.ts" />
    

    您可以参考https://github.com/cypress-io/cypress-example-todomvc#cypress-intellisense

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-05
        • 2020-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-01
        • 1970-01-01
        相关资源
        最近更新 更多