2

ページの読み込みが完了するとすぐにサーバー側の RSA キーペアの生成を行うページをテストしようとしていますが、現在のセットアップでは 5 ~ 20 秒かかります。ブラウザがキーペアを受け取るまで、ユーザーは何もできません。

これまで browser.sleep() を使っていたのですが、5 でキーペアが生成された場合に 20 秒待つのが面倒です。分度器の evaluate() メソッドを while ループ条件として使用しようとしましたが、evaluate() は引数の値ではなく ElementFinder を返すことに気付きました。Jasmine/Protractor が Jasmine が toBe/toEqual/etc を評価するのと同じ方法でブール値を計算できるようにする方法はありますか?

要するに、

expect(controller.evaluate('data.step1.done')).toBe(true);

Angular のスコープ内の evaluate() の引数の値に相当するブール値を計算し、「true」と比較します。その計算された値を使用する方法、または自分で計算する方法はありますか?

4

1 に答える 1

2

ここでのアイデアはbrowser.wait()、ぼやけたコンテンツが消えるのを待つために使用することです:

browser.driver.wait(function() {
    return !browser.driver.isElementPresent(by.css(".blurred"));
}, 20000)
.then(
  function() {
    // success code
  },
  function() {
    // fail code
  }
);

この場合、最大20 秒待機します。ぼやけたコンテンツが消えた直後に待機を停止します。

于 2015-01-05T19:33:24.937 に答える