2017-07-11 6 views
0

私はこの質問に対する回答の高低を検索しましたが、私のインスタンスで動作するものは見つかりませんでした。私は現在、いくつかのテキストが正しく(私はそれを見ることができます)バインドされていることをテストしようとしていますが、テスト時に実際のテキストを取得できません。以下はいくつかのコードです。バインドされたテキストをテストするときにデータを受け取ることはありません

基本的に
fit("should have a borrowing potential calculated", function() { 
    var tab = element(by.css('[ng-click="$ctrl.setSelectedTab($ctrl.tabs.summary)"]')); 
    tab.click(); 
    var parent = element(by.tagName("member-summary")); 
    var borrowingPotential = parent.element(by.tagName("h3")); 
    expect(borrowingPotential.getAttribute("value")).toContain("Some Text"); 

}); 

__

<h3>Borrowing Potential: {{$ctrl.borrowingPotential.value | currency}} as of 
{{$ctrl.borrowingPotential.timeStamp | date:'MM/dd/yyyy hh:mm:ss a':EST}} EST</h3> 

、私は「メンバー・サマリー」と呼ばれるカスタムコンポーネントを表示]タブをクリックし、その後、私は、Webドライバを介して、その要素にアクセスしようとします。このページのメンバーサマリーの唯一のインスタンスです。ただし、parentまたはborrowingPotentialにアクセスすると、getText()は空の文字列を返し、getAttributeはnull型を返します。

注:バインドに直接アクセスしてみましたが、結果は表示されません。バインディングが親要素の子と見なされないため、これは機能しません(https://github.com/angular/protractor/issues/3147)。

どのようにしてそのテキストを取得して、それが正しく表示されることをテストできますか?


リクエストに応じて、以下はChromeデバッガのhtmlです。ご覧のように、バインディングはテキストに置き換えられています。それはinput -fieldではありませんので、あなただけのh3 -elementのテキストを取得する必要があり、あなたの提供する情報に基づいて

<h3 class="ng-binding">Borrowing Potential: -$48,939,539.14 as of 01/01/0001 12:00:00 AM EST</h3> 
+1

ようになり、それが – wswebcreation

+0

(クロームか何かでデベロッパーツールで)ページ上で示されているようにあなたがここにあなたのHTMLを貼り付けることができます私はあなたのための主要なポストを編集します。 – Kennelly57

答えて

1

。それにはgetText()を使用できます。あなたのコードは、この

fit("should have a borrowing potential calculated", function() { 
 
    var tab = element(by.css('[ng-click="$ctrl.setSelectedTab($ctrl.tabs.summary)"]')); 
 
    tab.click(); 
 
    var parent = element(by.tagName("member-summary")); 
 
    var borrowingPotential = parent.element(by.tagName("h3")); 
 
    // Replace the `getValue()` with `getText()` 
 
    expect(borrowingPotential.getText()).toContain("Some Text"); 
 
});

+1

ご協力ありがとうございます、あなたは正しいです!私はあなたに投票しようとしましたが、私はまだ十分な評判を持っていません。 – Kennelly57

関連する問題