2011-09-08 2 views
1

Selenium을 사용하여 HtmlUnitDriver에 문제가 있습니다.Selenium HtmlUnit 웹 페이지를 임의로 고정

메신저 2.5 버전을 사용하고 있습니다.

테스트는 매우 간단하고 일반적으로 올바르게 작동하지만 때로는 드라이버가 멈추고 끝없이 페이지가로드 될 때까지 기다리는 경우가 있습니다. 이와 같은

초기화 ...

private WebDriver driver; 
    driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6);((HtmlUnitDriver) driver).setJavascriptEnabled(true); 
     //driver = new FirefoxDriver(); 
     driver.manage().timeouts().implicitlyWait(0, TimeUnit.MILLISECONDS); 
     driver.manage().timeouts().setScriptTimeout(0, TimeUnit.MILLISECONDS); 

및 블록의 다음 많은 : 각 카릭 후

new Actions(driver).moveToElement(driver.findElement(By.linkText("Someting"))).perform(); 
     driver.findElement(By.linkText("something else")).click(); 
     driver.findElement(By.name("something")).sendKeys("8"); 
     driver.findElement(By.xpath("//img[@title='something']")).click(); 

()이로드

내 코드는 다음과 같은 것입니다 새로운 페이지.

정상적으로 전체 테스트를 끝내고 모든 블록을 잡아서 웹에서 문제가되지 않도록 시도했습니다.

webdriver는 (내가 가지 다른 시간 제한을 많이 시도하고 문제가 지속) 시간 제한을 무시하고 내가 내가 검색 "닫기()"

invoquing 다른 스레드에서 드라이버를 중지 "종료()"또는 캔트 도처에 있지만 해결책을 찾지 못했습니다.

¿ 누구든지 나를 도와 줄 수 있습니까?

미리 감사드립니다.

답변

2

누구든지 같은 문제가있는 경우 해결책을 게시합니다.

임 다른 스레드에서 Esc 키를 누르면 (주 바쁜 대기입니다 ...) 다음

((HtmlUnitDriver) test.getDriver()).getKeyboard().pressKey(Keys.ESCAPE); 

와 내가 사용하는 메신저 답장을

test.getDriver().quit(); restart();//create a new test instance 
0

이전에이 문제가 발생했습니다.

내가 먼저 2.9로 업데이트 한 후 다시

을 시도, 그들이 프레임 또는 iframe이있는 경우 그들도 다운로드받을 때문에, 나는 타격있어 페이지를 확인 것입니다 그리고 당신은 자신의 콘텐츠 아무것도 통제하지 않는 경우 것 일어날 수 있음

찾고있는 해결책이있을 수 있으므로 link을 살펴보세요.

희망이 도움이됩니다.

+0

감사 브라우저를 죽이고 테스트를 다시 시작 HtmlUnit 2.9를 사용하는 셀렌 2.5. 그리고 나는 그 질문을 읽고 네, 그 틀에는 프레임이 있습니다. 그러나 나는 모두를로드하고 싶습니다. : 이제는 다른 스레드에서 esc를 누르려고합니다. (주 대기 중입니다 ...) ((HtmlUnitDriver) test.getDriver()). getKeyboard(). 탈출); 그런 다음 브라우저를 종료하고 테스트를 다시 시작하십시오. test.getDriver(). quit(); restart(); // 새 테스트 인스턴스를 만듭니다. 마지막 실제 테스트를 기다리는 동안 작동하는 것처럼 보입니다. 다시 한 번 감사드립니다. – Anonimo

관련 문제