在与 webdriverIO 挂钩之前无法利用内部的页面对象

Unable to utilize page objects inside before hook with webdriverIO

页面对象:

class Product {
   get button() { return (".element"); }
}

module.exports = new Product();

代码

var pageObject = require('../pageObjects/product.page.js');

describe("Test", function () {

   before( function () {

      browser.url();

      pageObject.button.click();
   });

这个returns测试时出错运行的

pageObject.button.click is not a function

我在 before 挂钩之外的测试中使用了其他页面对象,它们运行良好。当我将上述对象移出挂钩并进入主测试时,它仍然 returns 同样的错误。它似乎与我的其他页面对象设置相同,所以我不确定我做错了什么。

根据我从您那里看到的 Product class,getter button() 没有返回 webElement。它只返回一个字符串 .element.

请尝试更新代码如下:

class Product {
   get button() { return $(".element"); }
}

module.exports = new Product();

谢谢,纳文