2016-05-23 6 views
1

私はバインディングで要素を見つけることを試みていますが、問題は要素がトーストであるということです。分度器はバインディングで要素を見つけることができません

私が使用しています:

element(by.css('.btn-primary3')).click() 

をクリックをシミュレートします。その結果、トーストはテスト中にブラウザに表示されます。

次に、要素を変数に格納し、トーストのテキスト値が期待値と等しいかどうかをテストします。

var toast = element(by.binding('toast.toast.title')); 
expect(toast.getText()).toEqual('Inloggen mislukt'); 

しかし、ここではエラーが表示されます。私はクロームのdevのツールでトースト要素をチェックすると、それは次のように現れ

Failed: No element found using locator: by.binding("toast.toast.tile") 

<div data-ng-repeat="toast in activeToasts"> 
    <span data-ng-bind="toast.toast.title" class="ng-binding"> Inloggen mislukt</span> 
</div> 

私はこの問題は、結合を含むスパンがないという事実から来ていると思いますページがロードされたときにdomに存在します。ボタンがクリックされると作成されます。このボタンをクリックした後場合、wait for the presence of the elementある場合

+0

てみツールは 'Elementor'それはrlly AngularJsアプリケーションに役立ちます、それはあなたがロケータを見つけることができます。 ブラウザで選択リストとして生成されていますか?有効な回答を提供する必要があります。 – Hikaryu

答えて

1

:呼ば

element(by.css('.btn-primary3')).click(); 
var toast = element(by.binding('toast.toast.title')); 

browser.wait(EC.presenceOf(toast), 5000); 
expect(toast.getText()).toEqual('Inloggen mislukt'); 
+0

私は 'ECが定義されていません'を得ています! –

+0

@AnkurShahああ、var EC = protractor.ExpectedConditionsと定義されています。 – alecxe

関連する問題