我已经在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对象。