您好CodeceptJS社区,
我在文档和其他来源中找不到任何帮助。有没有办法实现这个目标?
我在pageObjects中使用自定义步骤时遇到了同样的问题。为了避免它,我将actor(I)作为参数传递给我的pageObject函数。
页面对象:
const I = actor();
module.exports = {
doSomething(I){
I.login();
}
};
测试场景:
Scenario('Test something' (I,pageObject)=>{
pageObject.doSomething(I)
})
在这种情况下,pageObjects可以访问I :)中的所有自定义步骤
感谢您分享Matheus。我使用了不同的解决方案。我没有在每个页面对象方法(也是我的一个选项)中编写“I”对象,而是创建了一个自定义帮助文件,并使用如下的puppeteer helper编写所有方法;
async method() {
await this.helpers['Puppeteer'].click(xpath);
}
我可以在测试和页面对象中调用此方法
I.method();
我遇到了同样的问题,当我查看typescripts定义时,我注意到每个页面对象中都需要的actor()
具有自定义步骤参数。
所以这对我有用,可以用步骤file.js的自定义步骤扩展qazxsw poi;
const I = actor();
之后,我可以使用页面对象中的所有方法,例如在访问steps_file.js中的方法的测试场景中