this.url 不是函数
this.url is not a function
在 Nightwatch 中,我正在尝试编写一个命令来检查当前页面的 url。
当我直接在测试文件中写这个时,它看起来像这样:
browser.url(function (result) {
browser.assert.equal(result.value,expectedPageUrl);
});
这非常有效,returns 预期结果。但是,当我尝试将它移动到 pageObject 文件中并像这样修改它时:
checkUrl: function (expectedUrl) {
var _this= this;
this.url(function (result) {
_this.assert.equal(result.value,expectedUrl);
});
}
这个returns错误
TypeError: this.url is not a function
我在这里错过了什么?
你得到的错误很可能是因为'url'没有在你的第二个函数中定义,在这个对象中。
解决该问题的一种方法是尝试将该浏览器对象作为参数传递到 checkUrl 函数中。然后调用它:
checkUrl: function (browser, expectedUrl) {
browser.url(function (result) {
_this.assert.equal(result.value,expectedUrl);
});
}
在 Nightwatch 中,我正在尝试编写一个命令来检查当前页面的 url。
当我直接在测试文件中写这个时,它看起来像这样:
browser.url(function (result) {
browser.assert.equal(result.value,expectedPageUrl);
});
这非常有效,returns 预期结果。但是,当我尝试将它移动到 pageObject 文件中并像这样修改它时:
checkUrl: function (expectedUrl) {
var _this= this;
this.url(function (result) {
_this.assert.equal(result.value,expectedUrl);
});
}
这个returns错误
TypeError: this.url is not a function
我在这里错过了什么?
你得到的错误很可能是因为'url'没有在你的第二个函数中定义,在这个对象中。
解决该问题的一种方法是尝试将该浏览器对象作为参数传递到 checkUrl 函数中。然后调用它:
checkUrl: function (browser, expectedUrl) {
browser.url(function (result) {
_this.assert.equal(result.value,expectedUrl);
});
}