我一直在使用页面对象模式和WebdriverIO,并试图声明一个将在子页面中继承的选择器。我试过这两个
function Page() {
this.loader = function() {
return $("div[class*='loading'] svg");
}
}
和这个
Page.prototype.loader = function() {
return $("div[class*='loading'] svg");
}
当我从子页面调用此函数时,例如
checkoutPage.loader.waitForVisible(5000, true);
我得到“checkoutPage.loader.waitForVisible”不是函数“错误。如何为基本页面声明getter,以便可以从任何孩子调用它?
答案 0 :(得分:1)
当你致电checkoutPage.loader.waitForVisible(5000, true)
时实际上你正在返回整个loader
函数而不是元素。
将其更改为checkoutPage.loader().waitForVisible(5000, true);
,您的第一个示例应该可以正常使用。