将pageBase与nightwatch.js结合使用

时间:2018-10-24 14:09:12

标签: nightwatch.js

我正在尝试使用nightwatch.js创建一个2端测试套件 我环顾了一下,并没有真正弄清楚如何使用pageBase,就像实现POM时通常使用的那样。 我正在使用内置在守夜表中的page_object,但似乎无法使用pageBase来获取它。 这是代码示例。 为了简化起见,假设我有一个common.js文件和一个test.js文件 我希望test.js继承所有common.js命令和元素,并实现自己的一些命令和元素,但是我在语法上苦苦挣扎。

这是common.js文件

let commonCommands = {

    clickOnMe: function () {
        return this.waitForElementVisible('@someElement', 2000)

    }

};




module.exports = {
    commands: [commonCommands],
    elements: {
        someElement: '#elementId'
    },
};

这是test.js文件

const common = require('./common');

let testCommands = {
    doStuffFromTest: function () {
        return this;
    }

};

module.exports = {
    url: function () {
        return this.api.launch_url ;
    },
    commands: common.commands,

    elements: common.elements

};

如何向test.js添加命令和元素?

1 个答案:

答案 0 :(得分:0)

通常,您不想从测试中访问这些命令,而希望从其他页面对象访问。由于所有命令都将在此发生,因此将在页面对象级别执行诸如单击元素或检查是否存在某些东西之类的常见操作。