2016-07-22 6 views
2

分度器内の材料設計要素を利用する角度2のページをテストする簡単な方法はありますか?分度器の試験材料設計要素

angular2内のMD要素を利用することは、多くの労力を単純化するようです。しかし、私は退屈な様々な下位要素を選択しようとしています。私はテキストを試してみて検証した場合、すべての

<div> 
    <md-icon class="material-icons step" ng-class="md-24" ng-style="{color: font.color}"> 
     email 
    </md-icon> 
    " &nbsp Email Notification 
    " 
</div> 

まず、私がいない結果ので、equalsメソッドを含むメソッドを使用する必要があります:、以下の例を取るされ

これに関するgetTextの値は"email Email Notification"です。

だから私の質問は以下のとおりです。

  1. は、私の開発者は、単なるテストに、分度器で、IDを設定する、またはその他の一意の識別子、要素上で適切に

  2. か良い方法はありませんされています材料設計要素ブロック?

  3. 私は本質的に間違ったことをしています。

答えて

4

残念ながら、は分度器における材料設計のための具体的なものは何もありません。あなたはこのような場合に何ができるか

は、要素のテキストを取得材料設計要素のテキストを取得し、それを置き換えることです:

var div = element(by.xpath("//div[contains(md-icon, 'email')]")); 
var icon = div.element(by.tagName("md-icon")); 

var text = div.getText().then(function (parentText) { 
    return icon.getText().then(function (iconText) { 
     return parentText.replace(iconText, "").trim(); 
    }); 
}); 

expect(text).toEqual("Email Notification"); 

これはかなりすべてではありませんが、一般化することができますヘルパー関数に抽出するか、カスタムジャスミンマッチャーを作成してmd-iconテキストのテキストを整理するロジックをカプセル化します。


はちょうど適切

意味のあるIDまたはかかわらず、常に役立つ要素を定義するデータ指向のクラスを有する要素には、IDの、または他の一意の識別子を設定していない私の開発者です。どのようにmd-icon要素の存在をXPathでチェックして、div要素を見つけなければならなかったかを見てください。私は、XPathの使用が含まれていないよう

<div id="email"> 
    <md-icon id="emailIcon" class="material-icons step" ng-class="md-24" ng-style="{color: font.color}"> 
     email 
    </md-icon> 
    <span id="emailLabel">Email Notification</span> 
</div> 
+0

:に対処するためにはるかに便利 -

は、この代わりのようなものを想像してみてください。しかし、他に何も利用できない場合にのみ使用したいと思っています。私の開発者のための私のチケットは2つの外側のdivとidです。子要素として単一のmdアイコンとスパンを使用するだけで、IDの有無にかかわらず簡単に選択できます。 – Machtyn

関連する問題