2017-02-22 12 views
0

いくつかの値を持つ新しいボタンを追加すると、動的にDOMに追加されます。このボタンの非角度HTML要素がある:私はもはや存在しないことを確認したい、このボタンを削除すると分度器の動的属性値要素ロケータ

<li class="ui-state-default droppable ui-sortable-handle" id="element_98" data-value="2519"> 
    25.19 EUR 
<button type="button" class="btn btn-default removeParent"> 
<span class="glyphicon glyphicon-remove" aria-hidden="true"> 
</span> 
</button> 
</li> 

。私が探してる要素がdata-value="2519"であり、これは例えば、2000のように、私は設定何も、1000、500、1050、可能性が...

私は以下を使用しようとしたページオブジェクトファイルで:

this.newValueButtonIsNotPresent = function(item) { 
     newValueButton = browser.element(by.id("containerQUICK_ADD_POINTS")).all(by.css('[data-value="' + item + '"]')); 
     return newValueButton.not.isPresent(); 
    }; 

、次のようにスペックファイルに私はこの関数を呼び出す:

var twentyEurosButtonAttributeValue = '2000'; 

describe(".... 
    it ("... 
     expect(predefined.newValueButtonIsNotPresent(twentyEurosButtonAttributeValue)).toBeTruthy(); 

私は、これは正しくないですけど、どのように私はそのような何かを達成することができ、または別の方法がありますか?

答えて

1

私は簡単な解決策を見つけました。

Pageオブジェクトファイル:

this.newValueButtonIsNotPresent = function() { 
     newValueButton = browser.element(by.id("containerQUICK_ADD_POINTS")).all(by.tagName('li')).first(); 
     return newValueButton.getText(); 
    }; 

スペックファイルの代わりに、動的に私が新しく追加されたし、それはテキストが一致していないかどうチェックした1が、常にリスト、上の最初の位置の要素を見つけます:

// verify element 20.00 EUR is not present 
predefined.newValueButtonIsNotPresent().then(function(value) { 
    expect(value).not.toEqual(twentyEurosText); 
}); 
関連する問題