赛普拉斯无法识别的特定自定义命令

时间:2019-11-06 18:27:00

标签: typescript ui-automation cypress

我已经在commands.ts中创建了一个命令,但是无法使用cy来识别它。

commands.ts文件

import QuickRegisterPage from "../pages/common/quickregister-page.po";
import UserInfo from "../data-objects/myweb/user-info";

Cypress.Commands.add("createQuickRegisterUser", () => {
  const quickregisterPage = new QuickRegisterPage();
  const userInfo = new UserInfo();
  cy.getQuickRegisterUrl().then(url => {
    cy.log(url);
    cy.visit(url);
  });

  quickregisterPage.accountIdText().then(ele => {
    userInfo.accountId = ele.text();
  });

  quickregisterPage.emailAddressText().then(ele => {
    userInfo.emailAddress = ele.text();
  });

  quickregisterPage.passwordText().then(ele => {
    userInfo.password = ele.text();
  });
  return userInfo;
});

commands.d.ts文件

import UserInfo from "../data-objects/myweb/user-info";

declare namespace Cypress {
  interface Chainable<Subject = any> {
    createQuickRegisterUser(): Chainable<UserInfo>;
  }
}

index.js文件

import './utils/commands'
import './utils/env-utils'

我不明白为什么无法识别此特定命令。还有其他几个命令,它们可以被正确识别。

仅当我从import UserInfo文件中删除commands.d.ts语句时,命令才能被识别。但是,我需要返回UserInfo对象。

0 个答案:

没有答案