Cypress ReferenceError: input is undefined (Cypress, Cucumber, POM)
Cypress ReferenceError: input is undefined (Cypress, Cucumber, POM)
我正在努力寻找原因:
我正在使用 Cypress、Cucumber 和 POM 方法。
这是我的 POM 文件 LoginPage.js
class LoginPage {
get usernameInput() {
return cy.get('input[name="email"]');
}
get passwordInput() {
return cy.get('input[name="password"]');
}
get submitBT() {
return cy.get('button[type="submit"]');
}
loginToCMS() {
cy.visit('https://example.com')
usernameInput.type('admin@admin.com');
}
}
export default new LoginPage
然后我尝试在另一个 loginSteps.js
文件中调用 loginToCMS() 函数:
import { Given, When, Then, And } from 'cypress-cucumber-preprocessor/steps'
import LoginPage from '../../pages/LoginPage'
Given('user is logged in CMS', () => {
LoginPage.loginToCMS();
})
当 运行 特征文件时,我得到一个错误:Reference Error: usernameInput is not defined
usernameInput
是登录页面class上的一个函数,所以你要用this
调用它。
class LoginPage {
get usernameInput() {
return cy.get('input[name="email"]');
}
...
loginToCMS() {
cy.visit('https://example.com');
this.usernameInput.type('admin@admin.com');
}
}
我正在努力寻找原因:
我正在使用 Cypress、Cucumber 和 POM 方法。
这是我的 POM 文件 LoginPage.js
class LoginPage {
get usernameInput() {
return cy.get('input[name="email"]');
}
get passwordInput() {
return cy.get('input[name="password"]');
}
get submitBT() {
return cy.get('button[type="submit"]');
}
loginToCMS() {
cy.visit('https://example.com')
usernameInput.type('admin@admin.com');
}
}
export default new LoginPage
然后我尝试在另一个 loginSteps.js
文件中调用 loginToCMS() 函数:
import { Given, When, Then, And } from 'cypress-cucumber-preprocessor/steps'
import LoginPage from '../../pages/LoginPage'
Given('user is logged in CMS', () => {
LoginPage.loginToCMS();
})
当 运行 特征文件时,我得到一个错误:Reference Error: usernameInput is not defined
usernameInput
是登录页面class上的一个函数,所以你要用this
调用它。
class LoginPage {
get usernameInput() {
return cy.get('input[name="email"]');
}
...
loginToCMS() {
cy.visit('https://example.com');
this.usernameInput.type('admin@admin.com');
}
}