2014-04-24 4 views
0

내가 크롬에 벌금을 실행하는 몇 가지 검사를 가지고,하지만 난 phantomjs로 전환하면, 나는 다음과 같은 오류가 phantomjs에서 HTML 요소를 찾을 수 없습니다 이 :각도기 로케이터는

it('should navigate when clicking edit', function() { 

    var editLink = element(by.css('.selected-recipients a')).element(by.css('.edit-preview')); 

    editLink.click(); 
    expect(browser.getCurrentUrl()).toContain('#/recipients'); 
}); 

크롬에서는 잘 작동합니다. 문제는 유령이다. 나는 문제가 윈도우 크기로해야 할 수 있음을 시사 게시물을 발견,하지만 나를 위해 문제가 해결되지 않은 : 나는 또한 by.css 대신 by.id 사용하려고

https://github.com/angular/protractor/issues/585

을 나는 똑같은 문제가있다. 이 파일의 다른 모든 테스트는 잘 작동하고 일부는 by.css를 사용하므로이 위치 표시자를 이해하는 팬텀 (phantomjs)의 문제처럼 보이지 않습니다. 요소가 페이지에 전혀없는 것 같습니다.

아이디어가 있으십니까? 감사합니다

답변

0

이상한 방법으로 연기 할 때 나는 스크린 샷을 버립니다. 아마 당신이 찾고있는 것이 아니지만 아이디어입니다. :)

page.open("http://www.stackoverflow.com", function() 
{ 
    page.render('script_ending.png'); 
} 

또 다른 아이디어는 파일에 html을 덤프하여 요소가 있는지 확인하는 것입니다.

DOM을 변경하고 요소를 삽입 한 다음 찾을 수 있는지 확인하십시오.

또는 클래스 이름만으로 검색을 시도해보십시오. 어느 시점에서 실패했는지 확인할 수는 있습니다 ... 태그 a의 하위 요소가 없을 수도 있습니다.

+0

'페이지 '는 어디서 왔습니까? 나는'browser.takeScreenshot'가 분도기에서 스크린 샷을 찍는 올바른 방법이라고 생각한다. html을 파일로 덤프하는 예제 코드를 넣어야합니다. – Michael