【发布时间】:2021-06-07 15:35:07
【问题描述】:
刚接触 cypress,但在 Protractor 和 TestCafe 做过几个项目。
我知道在 cypress 中使用 PO 存在争议,但由于我们应用的复杂性/性质,我们将继续使用它。
重构测试以删除 PO 并包含应用 ID 的作品。使用页面对象,我们会收到“需要 DOM 元素”错误。
// myPo.js
class LoginPage {
loginPageCon() {
return cy.get('#page-login');
}
forgotPasswordLnk() {
return cy.get('#forgotPassword');
}
emailTxt() {
return cy.get('#email');
}
forgotPasswordCon() {
return cy.get('#page-forgot-password');
}
}
export default LoginPage;
// myTest.spec.js
import loginPage from '../pageObjects/myPo.js';
const loginPage = new LoginPage();
describe('Authorization', () => {
it('can direct to the azure instance', () => {
cy.visitHome();
cy.get(loginPage.loginPageCon);
});
describe('Forgot Password', () => {
it('clicking forgot password sends you to the correct screen', () => {
cy.get(loginPage.forgotPasswordLnk).click();
cy.get(loginPage.forgotPasswordCon);
});
});
});
【问题讨论】:
标签: cypress pageobjects