我正在尝试创建支持页面对象模型的赛普拉斯测试项目。
我在../integration处创建了一个新文件夹'pageobject',在这里我已将LoginPageAdminPortal.js文件实现为页面对象类。
代码如下,
export class LoginPageAdminPortal
{
visitLoginPageAdminPortal()
{
cy.visit (cypress.env('ADMIN_PORTAL_LOGIN_URL'))
}
loginAdminPortal()
{
cy.get('input[name=usernameUserInput]').type(cypress.env('ADMIN_USER_NAME'))
cy. get('input[name=password]').type(cypress.env('ADMIN_USER_PASSWORD'))
cy.contains('Continue').click()
return this
}
}
然后,我编写了一个用于用户登录的测试脚本,并且测试清单位于集成文件夹中。
import {LoginPageAdminPortal} from '/pageobject/'
describe('Admin portal login with username and password', () => {
it ('Visit to the admil poratl login page', () => {
const loginPage = new LoginPageAdminPortal()
loginPage.visitLoginPageAdminPortal()
})
})
但是在编译时我遇到了类似的错误,
Error: Cannot find module '../pageobject/' from ' /home/achini/projects/cloudtest/cypress/cypress-iam-ui-test/iam-cypress-ui-test/cypress/integration'
我是否必须配置pageobject模块其他文件。解决此问题并成功通过页面对象模型实现cypress的任何想法。
文件夹结构
参考:https://www.youtube.com/watch?v=5ifXs65O36khttps://www.youtube.com/watch?v=hMiBundGmNA
请尝试以下方式,让我知道这是否对您有用。
const loginPageAdmin = require('../pageobject/LoginPageAdminPortal');
describe('Admin portal login with username and password', () => {
it ('Visit to the admin portal login page', () => {
loginPageAdmin .visitLoginPageAdminPortal()
})
})
导入是相对于integration
文件夹中的测试的,因此您需要
import { LoginPageAdminPortal } from './pageobject/LoginPageAdminPortal';