【发布时间】:2018-05-04 22:23:44
【问题描述】:
我正在使用 spectron 3.8.0 并尝试检查 DOM 中是否存在 am 元素。我尝试将waitUntil 方法与try/catch 一起使用,但它没有按预期工作。最近我同步app.client.isExisting()如果元素存在则返回true,否则它会卡住并抛出超时异常(mocha)。
代码如下:
@log
protected async isExisting(element: string, name?: string): Promise<boolean> {
await this.app.client.isExisting(element)
.then(data => {
const isExisting = data;
console.log(CONSOLE_COLORS.YELLOW, "IS EXISTING???", isExisting);
return isExisting;
})
.catch(e => {
console.log(CONSOLE_COLORS.RED, "no existing elem")
return false;
});
}
【问题讨论】:
-
我不确定应该如何调用
isExisting(),但看起来你应该返回来自this.app.client.isExisting()的承诺。您正在等待它,但没有获取或返回最终值。
标签: javascript webdriver electron webdriver-io spectron