1

約束されたWebドライバーを使用して、ページに要素が存在するかどうかを確認し、存在する場合はログインし、そうでない場合は約束チェーンを続行します。

https://github.com/theintern/intern/issues/14のため、現時点ではこれは不可能ですか?

4

1 に答える 1

3

Intern 2 では、通常のfindコマンドを使用するだけです。

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

Intern 1 では、条件分岐が必要な場合は、チェックの結果に基づいて停止し、新しい命令を追加する必要があります。

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

これは Intern 1.1 で機能するはずです。これは、他に既存のコマンド pendingがないときに、新しいコマンドをリモート promise チェーンに追加する場合にのみ機能します。Intern 1.2 には、この制限を排除する改善が含まれます。これは第 14 号です。

于 2013-07-16T06:14:55.520 に答える