2012-05-10 5 views
1

저는 WebDriver를 사용하여 Firefox와 Chrome을 완벽하게 실행할 수있는 스크립트를 작성했습니다. 그러나 이러한 스크립트를 IE로 실행하면 오류가 발생합니다. 창 처리 메커니즘 중에 문제가 있습니다. 다음은 그 코드입니다. 단지 IE에서 발생Internet Explorer에서 WebDriver 테스트를 실행하면 임의로 실패합니다.

public void switchingWindow() { 
    HashSet<String> handles =(HashSet<String>) driver.getWindowHandles();; 
    Iterator<String> whandles = handles.iterator(); 
    int h = 0; 
    while(handles.size()<2) { 
     handles = (HashSet<String>) driver.getWindowHandles(); 
     whandles = handles.iterator(); 
     System.out.println("No Of Windows : "+handles.size()); 
     h++; 
     sleep(500); 
     if (h >= 60) 
      Assert.fail("Tracker PopUp not loaded successfully"); 
    } 
    parentWindow = whandles.next(); 
    popUpWindow = whandles.next(); 
    driver.switchTo().window(popUpWindow); 
    System.out.println("PopUp Window is handled"); 
} 
+0

어떤 유형의 오류입니까? –

+0

세션이 갑자기 만료됩니다. 주로 윈도우 핸들에 문제가 있습니다. 스크립트가 불규칙하게 고장났습니다. 테스트 케이스가 한 번 전달되면 다음 실행에 전달되는 테스트가 수행되지 않습니다 (모든 테스트 케이스는 서로 독립적입니다) –

답변

0

임의의 실패로 인해 (이 경우 윈도우 핸들러) 요소를 완전히 아직 존재하지 않는로, 내 경험에서, 종종 있습니다. IE는 Chrome과 Firefox보다 다른 순서/방식으로 요소를로드하는 것처럼 보입니다. 그래서 나는 다른 브라우저가없는 곳에서 IE 용 waitUntil을 적용해야한다는 것을 자주 발견했습니다. 그러나 이것이 내가 상상하는 창 핸들러인데, 그렇다면 매우 놀랄 것입니다. P

0

Google 크롬 인스턴스를 시작하고 기본적으로 열도록 IE 탭 확장을 구성합니다. 그것은 IE를 에뮬레이트하지만 마이크로 소프트의 제품처럼 절대로 충돌하지 않을 것입니다.

관련 문제