我正在使用WebdriverIO构建一个e2e测试套件,并且我坚持在页面对象之间创建继承。WebdriverIO页面对象继承
在量角器中,我们可以通过参数传递上下文,然后搜索该上下文中的元素。例如,
var pageObject = context.element(by.css('.some-class'));
例如,
这里是头主页上
var HomePage = require('./home.page');
module.exports = Object.create(HomePage, {
headerModule: {get: function() {return browser.element('.header');}
});
的这里是页脚也在首页
var HomePage = require('./home.page');
module.exports = Object.create(HomePage, {
footerModule: {get: function() {return browser.element('.footer');}
});
在这两个模块,我有相同的按钮,我想创建一个页面对象在这两种情况下使用的按钮。我应该使用哪个页面继承?我不知道如何通过参数传递父页面对象。
你真的不应该需要在页面对象之间传递上下文。您的主脚本将实例化并使用不同的页面对象。上下文应该包含在页面对象本身中。你能举出一个更详细的例子,说明何时你可以在页面对象之间传递上下文吗? – JeffC
你能再看看吗?我已经更新了这个问题。 –