Javascript Webdriverio:包括多个页面对象之间的公共元素
使用webdriver io建议的页面对象模式,包含包含多个页面共有的元素(例如搜索框或导航栏)的模块的最佳方式是什么 例如 我的网页Javascript Webdriverio:包括多个页面对象之间的公共元素,javascript,webdriver-io,Javascript,Webdriver Io,使用webdriver io建议的页面对象模式,包含包含多个页面共有的元素(例如搜索框或导航栏)的模块的最佳方式是什么 例如 我的网页 var basePage = require('./basePage'); var searchModule = require('./searchModule'); var myPage = Object.create(basePage, { search: { value: Object.create(this, searchModule) },
var basePage = require('./basePage');
var searchModule = require('./searchModule');
var myPage = Object.create(basePage, {
search: { value: Object.create(this, searchModule) },
...
搜索模块
var searchModule = {
searchBox: { get: function() { return browser.element('input#s'); }},
searchFor: { value: function(searchText) {
this.searchBox.setValue(searchText);
browser.keys('Enter');
}}
这是可行的,并允许使用如下用法:
myPage.search.searchFor('sometext')代码>但这是最好的(甚至是好的)方法吗 我想你说得对,我会在基页中保留任何将在多个页面上使用的函数。因为所有页面对象都需要基页,所以您将始终能够访问它们,而不需要编写重复的方法