1

使用承诺的网络驱动程序,我想检查页面上是否存在元素,如果存在则登录,否则继续使用承诺链。

由于https://github.com/theintern/intern/issues/14,目前这不可能吗?

4

1 回答 1

3

在实习生 2 中,只需使用普通find命令:

var remote = this.remote;
remote.get(url)
    .findById('foo')
    .then(function (element) {
        // exists
    }, function () {
        // does not exist
    });

在实习生 1 中,如果您需要有条件地分支,您需要停止并根据检查结果添加新指令。

var remote = this.remote;
remote.get(url)
    .elementByIdIfExists('foo')
    .then(function (element) {
        if (element) {
            remote.clickElement()
                .type('foo');
                // ...etc.
        }
    });

当您在没有其他已存在的命令挂起时向远程承诺链添加新命令时,这应该在 Intern 1.1 中起作用。Intern 1.2 将包含消除此限制的改进。这是问题#14。

于 2013-07-16T06:14:55.520 回答