gpt4 book ai didi

javascript - 守夜人 : Override Function in Page Object

转载 作者:行者123 更新时间:2023-12-01 02:12:48 25 4
gpt4 key购买 nike

我已经在 Nightwatch 中创建了一个页面对象模型,但我想覆盖一些自定义功能。我将如何实现这一目标?

module.exports = {
url: 'http://localhost:63916/Login/Login',

commands: [{
navigateToImportBatch() {
this
.click('@importManager')
.click('@importBatch')

return this.api;
}
};

我如何重写navigateToImportBatch函数?谢谢。

最佳答案

全局覆盖:

// your current module to override, e.g. loginPageModel.js
let module = {
url: 'http://localhost:63916/Login/Login',

commands: [{
navigateToImportBatch() {
this.click('@importManager')
.click('@importBatch');

return this.api;
}
}]
};
module.exports = module;

然后定义一个新模块,覆盖您需要的任何命令并将其导出。

// loginOverride.js
let LoginOverride = require('./loginPageModel'); // whatever the path to your module is called

LoginOverRide.commands[0].navigateToImportBatch = function() {
// your new implementation
}

module.exports = LoginOverride;

然后只需导入覆盖步骤定义中基本实现的模块即可。

let LoginModel = require('./loginOverride');

// use as normal

或者,您可以在步骤定义中使用相同的策略,而不定义新的页面模型,而只需覆盖步骤定义中的实现。

关于javascript - 守夜人 : Override Function in Page Object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49648627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com