2017-04-25 8 views
0

存在することの要素を待って、以下のコード:分度器のボタン無効状態を待つ方法は?

var elm = element(by.css('button.submit')); 

    var EC = protractor.ExpectedConditions; 
    browser.wait(EC.presenceOf(elm), 5000); 
    elm.click(); 

コードボタンが有効になっていると、これはクリックのために使用することができるかどうかを確認するために:私の条件で

expect(elm.isEnabled().toBe(false)); 

、フォーム検証があまりにも実行されます速い。ボタンが有効になり、無効になります。要素の状態を取得できません。上記の両方の条件は、ボタンが無効になっているかどうかを確認するためには機能していません。私の場合はbrowser.sleep(1000)

答えて

0

を使用するよりも、他のボタンを無効の状態をチェックするための方法

、私はそれが現在/有効になっているかどうかを確認するための新たな再帰関数を作成します。

function checkIfDisabled(maxSec, elm, blnDisabled) { 
    if (maxSec > 0) { 
     browser.sleep(1000).then(function() { 
      elm.isDisabled().then(function(bln) { 
       if (bln != blnDisabled) { 
        checkIfDisabled(maxSec - 1, elm, blnPresent) 
       } 
      }); 
     }); 
    } 
} 

あなたは(10、ニレ、偽)checkIfDisabledを渡すと、オブジェクトが1秒間隔で10回無効になっている場合
はそれがチェックされます。
希望します。 :)

関連する問題