包括:依赖注入 CodeceptJS/Puppeteer - 遗漏了什么?
Include: dependency injection CodeceptJS/Puppeteer - Missing something?
我显然遗漏了与 CodeceptJS 和 Puppeteer 的依赖注入相关的内容。我正在尝试按照文档进行操作,但尚未成功。
目标: 创建一个页面对象 class,从我的测试场景中访问该页面对象 class 中的方法。
简单测试用例
Feature('Common logon/logoff scenarios');
Scenario.only('Test drawer class', (I, loginAs, menu) => {
I.amOnPage('/login');
loginAs('admin');
menu.dashboard();
});
包括我的 codeceptjs.config.js 文件中的部分
include: {
I: "./steps_file.js",
menu: "./src/fragments/menu.js"
},
菜单页面对象 class (menu.js)
const { I } = inject();
module.exports = {
// Navigation drawer locators
item: {
dashboard: 'a[href="#/"]',
admin: 'li[id="resources.admin.name"]',
permissions: 'a[href="#/user-claims"]',
sites: 'a[href="#/site"]',
reportTemplates: 'a[href="#/reporttemplates"]',
stations: 'a[href="#/station"]',
supervisor: 'li[id="resources.supervisor.name"]',
people: 'a[href="#/people"]',
supervisorPressPallets: 'a[href="#/presspalletbuilder"]',
stationIdentify: 'a[href="#/stationadopt"]',
operator: 'li[id="resources.operator.name"]',
operatorPressPallets: 'a[href="resources.operator.name"]'
},
// Methods to access nav drawer menu items
dashboard() {
I.click(this.item.dashboard);
},
admin() {
I.click(this.item.admin);
},
permissions() {
I.click(this.item.permissions);
},
sites() {
I.click(this.item.sites);
},
reportTemplates() {
I.click(this.item.reportTemplates);
},
stations() {
I.click(this.item.stations);
},
supervisor() {
I.click(this.item.supervisor);
},
people() {
I.click(this.item.people);
},
supervisorPressPallets() {
I.click(this.item.supervisorPressPallets);
},
stationIdentify() {
I.click(this.item.stationIdentify);
},
operator() {
I.click(this.item.operator);
},
operatorPressPallets() {
I.click(this.item.operatorPressPallets);
}
}
当我尝试 运行 测试时,出现以下错误
1) Common logon/logoff scenarios
Test drawer class:
Cannot read property 'react' of undefined
对于我在这里遗漏的任何帮助,将不胜感激。
谢谢大家
鲍勃
事实证明我的代码是正确的,这最终成为我的编辑器无法很好地处理代码完成的问题,因此感兴趣的方法没有像我预期的那样显示。
我显然遗漏了与 CodeceptJS 和 Puppeteer 的依赖注入相关的内容。我正在尝试按照文档进行操作,但尚未成功。
目标: 创建一个页面对象 class,从我的测试场景中访问该页面对象 class 中的方法。
简单测试用例
Feature('Common logon/logoff scenarios');
Scenario.only('Test drawer class', (I, loginAs, menu) => {
I.amOnPage('/login');
loginAs('admin');
menu.dashboard();
});
包括我的 codeceptjs.config.js 文件中的部分
include: {
I: "./steps_file.js",
menu: "./src/fragments/menu.js"
},
菜单页面对象 class (menu.js)
const { I } = inject();
module.exports = {
// Navigation drawer locators
item: {
dashboard: 'a[href="#/"]',
admin: 'li[id="resources.admin.name"]',
permissions: 'a[href="#/user-claims"]',
sites: 'a[href="#/site"]',
reportTemplates: 'a[href="#/reporttemplates"]',
stations: 'a[href="#/station"]',
supervisor: 'li[id="resources.supervisor.name"]',
people: 'a[href="#/people"]',
supervisorPressPallets: 'a[href="#/presspalletbuilder"]',
stationIdentify: 'a[href="#/stationadopt"]',
operator: 'li[id="resources.operator.name"]',
operatorPressPallets: 'a[href="resources.operator.name"]'
},
// Methods to access nav drawer menu items
dashboard() {
I.click(this.item.dashboard);
},
admin() {
I.click(this.item.admin);
},
permissions() {
I.click(this.item.permissions);
},
sites() {
I.click(this.item.sites);
},
reportTemplates() {
I.click(this.item.reportTemplates);
},
stations() {
I.click(this.item.stations);
},
supervisor() {
I.click(this.item.supervisor);
},
people() {
I.click(this.item.people);
},
supervisorPressPallets() {
I.click(this.item.supervisorPressPallets);
},
stationIdentify() {
I.click(this.item.stationIdentify);
},
operator() {
I.click(this.item.operator);
},
operatorPressPallets() {
I.click(this.item.operatorPressPallets);
}
}
当我尝试 运行 测试时,出现以下错误
1) Common logon/logoff scenarios
Test drawer class:
Cannot read property 'react' of undefined
对于我在这里遗漏的任何帮助,将不胜感激。
谢谢大家
鲍勃
事实证明我的代码是正确的,这最终成为我的编辑器无法很好地处理代码完成的问题,因此感兴趣的方法没有像我预期的那样显示。