首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spectron isExisting不返回false

Spectron isExisting不返回false
EN

Stack Overflow用户
提问于 2018-05-05 06:23:44
回答 1查看 738关注 0票数 1

我使用的是spectron 3.8.0,正在尝试检查am元素是否存在于DOM中。我尝试在try/catch中使用waitUntil方法,但它没有像预期的那样工作。最近我得到了同步app.client.isExisting()返回真,如果一个元素存在,但否则它会被卡住并抛出一个超时异常(mocha)。

代码如下:

代码语言:javascript
复制
@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;
        });
}
EN

回答 1

Stack Overflow用户

发布于 2018-07-03 22:18:05

isExisting应该可以很好地工作。

你应该正确地返回promise

代码语言:javascript
复制
return app.client.isExisting('#element');

这就像火花一样工作

如果给定的selector.if至少存在一个元素,则返回true,not将返回false

要等待一个元素,请使用下面的代码

代码语言:javascript
复制
doesexist(app, element) {
    return app.client.waitforExist(element,60 * 1000);
}

只需以更干净的方式传递需要checked.Much的应用程序和元素即可避免等待

如果元素在60秒之前存在,则返回true;如果不存在,则返回true;如果元素在60秒后不存在,则返回true

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50183805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档