- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经在 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/
我正在使用 javascript 编写测试以在守夜人中执行。为了注册一个新帐户,我在同一张表格下有两个密码字段。我使用与 input[type=password] 连接的表单 ID 选择它们,然后使用
这是我用来运行测试的代码 this is my config file. { "src_folders" : ["tests"], "output_folder" : "reports",
我有一些带有“并行”标签的测试。 我想在两个浏览器中并行运行它,即第一个测试将在第一个浏览器中启动,第二个将同时在第二个浏览器中启动。 我尝试执行此命令: npm run nightwatch --
你知道如何向waitForElementPresent添加失败回调 我想做如下的事情: browser.url('http://google.com') .waitForElementP
在 Chrome 中的 CI 上运行 Nightwatch 测试。有时(大约每 5 个版本中有一次)我在其中一个测试中遇到以下错误。在此之前的每个测试都可以正常工作。 我有最新的 Chromedriv
我已经在 Nightwatch 中创建了一个页面对象模型,但我想覆盖一些自定义功能。我将如何实现这一目标? module.exports = { url: 'http://localhost:6391
所以我正在尝试让 Nightwatch.js 测试在 CircleCI 上运行。在 CircleCI 的配置过程中,我...将 Node 更新到最新版本(因为我们有 Node 服务器),npm 安装我
我创建了如下所示的 nightwatch.json 文件(具有用户名和 access_key 属性): "test_settings": { "default": {
如何将xpath分离成单独的文件并在nightwatch自动化测试中使用? 编辑:我运行一个页面对象模式示例并发现了一些错误。错误:类型错误:browser.page.url 不是函数 请帮忙解决这个
我的页面上有一个元素,当我将鼠标悬停在该元素上时,会显示带有文本的工具提示。如何获取文本值?我需要验证是否显示了正确的文本。 我们正在使用 Nightwatch.js 非常感谢! element wi
我正在使用 Nightwatch 编写浏览器自动化程序。我遇到 Nightwatch 命令的 executeAsync 函数问题。 executeAsync 的 Nightwatch 文档: Inje
在我的 React 项目中,我想使用 nightwatch 作为测试工具。我实际上在 Windows 上使用 Nightwatch v1.0.4 和 selenium-server-standalon
我使用 nighwatch 来测试 React 应用程序。 应用 CSS 类就像 .myClass__4RFGCG 我要测试 browser.assert.visible(".myClass", "T
对于产品的新版本,我决定尝试使用页面对象方法而不是使用 View ,而且我可能开始错误地使用它。 我们有一个自定义命令,它只是等待一个元素并点击 (waitAndClick.js): exports.
我为 Nightwatch 中的 UI 测试创建了这个自定义命令。这是完整的: exports.command = function(element, callback) { var self =
我是 Nightwatch 的初学者,但我遇到了以下问题: 我有一个表,其中有 和多个就在里面。我需要检查第一列的一个单元格中是否存在特定单词。 首先,我尝试使用 document.GetElemen
.pause(1000) 真的是等待表单提交的最佳实践吗?我正在寻找一种可靠地提交表单的方法,而无需知道作为表单提交结果出现的页面的详细信息。 例子来自 home page使用 .pause(1000
我是一名优秀的程序员,十分优秀!