【发布时间】:2015-08-22 21:27:52
【问题描述】:
我正在尝试编写一个非常简单的 WebdriverIO 脚本,该脚本将访问一个 URL,等待 JS 中的某些条件为真(例如,设置了一个全局变量)并在它为真时截取屏幕截图。但是waitUntil 抛出了一个错误,上面写着“CommandError: Promise never resolve with an truthy value”。以下是我的脚本的简化版本:
"use strict";
var webdriverio = require('webdriverio');
var client = webdriverio.remote({
desiredCapabilities: {
browserName: 'chrome',
},
})
.init()
.url("https://google.com")
.waitUntil(
function() {
return client.execute(
function() {
return true;
}
);
}
)
.screenshot();
我的实际条件当然不仅仅是“return true;”,但这表明执行显然会返回一个真实的值。
如果我删除对screenshot() 的调用,则不会出现错误。
我尝试为waitUntil() 设置一个较高的超时值,并尝试从.execute() 调用中返回实际的result.value -- 两者都没有帮助。
【问题讨论】:
标签: node.js selenium webdriver-io