【问题标题】:Webdriverio: including common elements between multiple page objectsWebdriverio:包括多个页面对象之间的公共元素
【发布时间】:2016-03-27 18:14:02
【问题描述】:

使用 webdriver-io 建议的页面对象模式,包含包含多个页面共有元素的模块的最佳方式是什么,例如。搜索框还是导航栏?

例如...

我的页面

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('some text');,但这是最好的(甚至是好的)方法吗?

【问题讨论】:

    标签: javascript webdriver-io


    【解决方案1】:

    我认为您说得对,我会保留将在基本页面中的多个页面上使用的任何功能。由于所有页面对象都需要基本页面,因此您将始终可以访问它们而无需编写重复的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-30
      • 1970-01-01
      • 2023-03-03
      • 2018-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多