2016-12-02 12 views
1

페이지에있는 경우 :은 얻기 'geb.navigator.EmptyNavigator가 존재하지'도 요소는 내가 아주 간단한 검사를 사용하고 게브 기반 테스트에서

at ReportsPage 

페이지 개체가 포함되어

static at = { 
    $("#navContent .current").text() == "Reports" 
} 

이 검사는 한 대의 PC에서 제대로 작동하지만 으로 실패합니다. 'geb.navigator.EmptyNavigator가 없습니다' ' 다른 것입니다. 둘 다 동일한 외부 웹 사이트를 테스트하므로 동일한 HTML 코드를 수신합니다. 또한 Geb, Webdriver 및 Firefox 브라우저의 동일한 버전을 사용하십시오. 내가 GebReportingSpec을 사용하기 때문에 실패시 페이지를 저장합니다. 나는 텍스트 편집기에서 확인하고 필요한 요소를 볼 수 있습니다

<div id="navContent"> 
    <ul> 
     <li class="current"> 
      <a href="reports" title="Reports">Reports</a> 
     </li> 
     ... 
    </ul> 
</div> 

답변

1

파이어 폭스 드라이버가 때로는 WebDriver.get(String) 호출에서 반환하기 전에로드 페이지 기다리지 않는 특색을 가지고 있습니다. 그래서 Geb가 atCheckWaiting config option을 소개 한 것입니다. 낮은 값 (보통 1 초 사용)으로 설정하고 문제를 해결해야합니다.

+0

답변 해 주셔서 감사합니다. 정말 이상하지만 테스트를 실행하는 서버를 다시 시작한 후에는 실패한 시나리오를 재현 할 수 없습니다. 문제가 나중에 다시 나타나면 해결책을 시도해보십시오. – MantasG

+0

이 문제는 여전히 무작위로 나타납니다. 따라서 피할 수있는 유일한 방법은 권장 설정 옵션을 사용하는 것입니다. 감사! – MantasG