如何在不将结果报告给控制台的情况下使用waitForElementVisible?

时间:2016-09-19 18:23:46

标签: selenium selenium-webdriver nightwatch.js

使用nightwatch.js如何在不将结果打印到控制台的情况下等待元素加载?

我不希望等待出现在我的报告中,只有正常的断言。

以下代码将“等待设置菜单加载”输出到控制台。如果没有使用自定义消息,则默认消息为'Element #editMenuContentsButton在xxxx毫秒后可见':

/**Clicks the settings menu and logs the action.
 * @method clickSettings
 */
clickSettings: function () {
    this.waitForElementVisible('@settingsSettings', 5000, 'Waiting for settings menu to load');
    this.click('@settingsSettings', function () {
        testUtil.logAction('Click Gallery settings menu');
    });
    this.api.pause(1000);
    return this;
}

1 个答案:

答案 0 :(得分:0)

我通过简单地在waitForElement.js文件中找出以下代码找到了解决方案(在:lib / api / element-commands中找到)

WaitForElement.prototype.pass = function(result, defaultMsg, timeMs) {
this.message = this.formatMessage(defaultMsg, timeMs);
//this.client.assertion(true, null, null, this.message, this.abortOnFailure);
return this.complete(result);
};