我正在尝试编写一个非常简单的 WebdriverIO 脚本,该脚本将访问一个 URL,等待 JS 中的某些条件为真(例如,设置了一个全局变量)并在它为真时截取屏幕截图。但是waitUntil
抛出一个错误,说“CommandError:承诺永远不会以真实的价值解决”。以下是我的脚本的简化版本:
"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()
,并尝试从调用中返回实际的 result.value .execute()
——两者都没有帮助。