2012-04-30 1 views
1

우리는 Gherkin, Cucumber-jvm 및 Webdriver를 사용하여 표준 Java/Spring 웹 애플리케이션에 대한 승인 테스트를 실행합니다. 문제는 Maven 작업을 사용하여 테스트를 실행할 때 테스트가 완전히 성공적이나 작업이 완료되지 않는다는 것입니다. Firefox 창을 닫을 때만 작업이 완료됩니다.Cucumber/Webdriver를 사용한 수락 테스트는 결코 완료되지 않습니다

각 기능을 수행 한 후에 브라우저를 명시 적으로 닫을 수있는 방법이 있지만 시간 지연으로 인해 지속될 수 없게됩니다. 다음과 같이

테크 스택은 다음과 같습니다

오이 - JVM 1.0.4를 8.0

이 앱은 윈도우 7에 제이보스 EAP 5.1에서 실행

셀레늄 2.12.0

파이어 폭스 기계.

우리가 JRuby 버전의 Cucumber를 사용했을 때, 위의 셀렌/파이어 폭스 조합에서는이 동작이 나타나지 않았습니다.

이전에이 동작을 본 사람이 있습니까? 누구에게도 제안이나 해결 방법이 있습니까?

미리 감사드립니다.

+0

"시간 지연으로 인해 지속될 수없는 상황이 발생합니다." ? –

+0

우리의 테스트 스위트 (2000+ 단계)는 하나의 Firefox 브라우저 인스턴스를 사용하여 실행하는 데 최대 40 분이 걸렸습니다. 각 기능 파일 (태그 포함) 또는 시나리오에 대한 브라우저를 닫거나 다시 여는 오버 헤드를 추가하는 것은 더 많은 시간을 추가하여 빠르게 변화하는 코드베이스에서 지속 불가능한 수준으로 가져 왔습니다. – TrueDub

+0

병렬로 실행하십시오. [https://github.com/cucumber/cucumber-jvm/issues/86](hithps://github.com/cucumber/cucumber-jvm/issues/86). –

답변

1

WebDriver를 닫으시겠습니까?

@cucumber.annotation.After 
public void afterScenarioRun() { 
    driver.close(); 
} 
+0

그래,하지만 이건 내가 피하려고하는거야 - 브라우저 창을 닫은 다음 다시 여야한다는 오버 헤드가 이 스위트 룸은 더욱 악화 될 것입니다. @EndSuite 옵션과 같은 또 다른 솔루션이 있기를 바라고 있습니다. – TrueDub

+0

후크보세요 : [https://github.com/cucumber/cucumber/wiki/Hooks](https://github.com/cucumber/cucumber/wiki/Hooks) –

+0

후크에 대한 제 제안은 작동하지 않습니다. Cucumber-jre는 본질적으로 After와 Before와 같습니다 : cucumber.runtime.java.JavaBackend # addHook –

1

봄 환경 (오이 - 봄)에서는 오이와 셀레늄을 사용합니다. WebDriver는 Spring에 의해 관리 될 때, 당신은 콩 (고화질)에 destroy="close"을 추가 할 수 있습니다 : 모든 검사가 끝난 후이 브라우저를 닫

<bean id="webDriver" class="org.openqa.selenium.ie.InternetExplorerDriver" destroy-method="close"/> 

.

관련 문제