2016-08-01 15 views
2

ボタン内のスパンのテキストが "Vigente"である場合は、expectとJasmineを使用してチェックする必要があります。どうしたらいいですか?分度器を使用して範囲内のテキストを取得

/HTML /ボディ/アプリケーション/ AUTH-コンテナ/レイアウト/ DIV /メイン・コンテンツ/ DIV /ノルマ-cadastro/DIV /フォーム/ DIV:

<button _ngcontent-hke-28="" class="btn btn-success disabled" tabindex="-1"> 
<span _ngcontent-hke-28="" class="glyphicon glyphicon-check"> 
</span> Vigente</button> 

は、私はこのようなXPathを使用することができます[8]/DIV /ボタン/テキスト(Vigente)すべての

答えて

2

まず、あなたがについて尋ねているXPath式が正しくありません - 括弧内のVigente部分は必要ありません。また、パスのレベルが高いほど絶対XPath式を使用しないでください。破損する確率は高くなります。そして、XPaths are not recommended by the Protractor team

代わりに、私は要素by partial button textを見つけ、その要素の存在を確認します:

expect(element(by.partialButtonText("Vigente")).isPresent()).toBe(true); 

それとも、あなたはCSSセレクタ、たとえば、によって要素を検索し、テキストを取得することができます:

expect($("button.btn-success").getText()).toContain(Vigente); 

button.btn-success CSSセレクタはかなり幅広ですが、改善できるかどうかを確認してください。

+0

そして私は、テキスト "Vigênciainvalida" とのボタンを持っている場合。 私は使用しようとしています 'expect(要素(by VirtualButtonText("Vigênciainvalida "))。isPresent()).Be(true);' しかし、それは動作していません – paulotarcio

+0

@paulotarcio大丈夫、必要ですか?ありがとう。 – alecxe

+0

私は先頭のスペースがなく、リーディングスペースなしで試しましたが、どちらもうまくいきませんでした。 – paulotarcio

0

正しいかどうかは言えませんが、Chrome Devツールで自分で確認できます。要素の要素を調べるだけです。 HTML内の要素を右クリックし、「コピー」をクリックします。できるだけIDまたは角度モデルを使用することをお勧めします。 XPathはHTMLの変更に伴い変化します(ただし、XPathでIDを使用しない限り)。その後、テストを維持することが課題になります。

画像を参照してください。

enter image description here

+0

develeporsには習慣がないので、モデルやIDは使用できません。それ。だから私はxpathを使用している – paulotarcio

関連する問題