2017-02-22 7 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

어리석은 나를, 나는 간단한 해결책을 발견했다.

페이지 오브젝트 파일 :

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

사양 파일 대신 동적으로 내가 새로 추가 한 후 텍스트가 일치하지 않습니다 있는지 확인 된 하나가 항상 목록에 첫 번째에 위치하는 요소의 위치를 :

// verify element 20.00 EUR is not present 
predefined.newValueButtonIsNotPresent().then(function(value) { 
    expect(value).not.toEqual(twentyEurosText); 
}); 
관련 문제