2014-12-12 2 views
1

배경 : Selenium과 Firefox 웹 드라이버를 사용하여 기능 파일을 실행하기위한 테스트 프레임 워크가 있습니다. Firefox에서 실행할 때 모든 기능 파일 테스트가 통과합니다. 테스트 주자는 개발자/QA 로컬 시스템의 SpecFlow와 CI 서버의 SpecRun을 사용하고 있습니다. 테스트중인 웹 사이트는 고전적인 ASP.NET으로 작성되었습니다.SpecRun으로 실행하면 Selenium IE 드라이버가 클릭되지 않지만 SpecFlow로 실행하면 작동합니다.

요구 사항 : 우리는 기능 파일을 인터넷 익스플로러에서 전달 테스트하라 좀하고 싶습니다 (11)

접근 : 가져 오기 기능 파일 테스트 SpecFlow 및 SpecRun

모두 로컬 컴퓨터에 전달

기계 준비 :

  • 설정 줌 레벨 용 Internet Explorer 11 % 100-
  • Internet Explorer에서 모든 영역의 인터넷 익스플로러 웹 드라이버 (2.44.0)

모든 기능 파일에 대한 거짓 (11)

  • 설정 EnableNativeEvents을 = 보호 모드 활성화 여부 SpecFlow 실행 로컬 시스템에 전달할

    문제 : 사양으로 실행할 때 같은 기능 파일을 로컬 컴퓨터에 FAIL 실행. 문제는 EnableNativeEvents = false가 무시되고 클릭이 작동하지 않는다는 것입니다. 필자는 CI 서버에서 테스트를했고 기능 파일도 거기에서 실패했습니다. Same step to click search button NOT WORKING in SpecRun

    셀레늄을 (검색 버튼에 포커스가 참고)

    기능 파일 단계는 SpecRun에서 작동하지 않는 검색 버튼을 클릭 SpecFlow Feature file step to click search button works in SpecFlow

    같은 단계를 검색 버튼 작동을 클릭합니다 웹 사이트와 상호 작용하는 구성 요소입니다. SpecFlow 및 SpecRun은 테스트 주자입니다. 여기에 무슨 문제가있을 수 있습니까?

    미리 감사드립니다.

  • +0

    예외는 어떻게 만듭니 까? – Saifur

    +0

    이 시점에서 아무런 예외도 발생하지 않습니다 (검색 버튼 클릭). 클릭이 심연으로 사라집니다. Selenium이 ArgumentNullException이 발생하는 결과 격자와 상호 작용하려고 할 때만 다음 단계에 있습니다. –

    답변

    0

    Dev/QA 로컬 시스템이 Specflow를 실행하고 CI 시스템이 SpecRun을 실행한다고 언급했습니다. Dev/QA 로컬 머신도 SpecRun을 유닛 테스트 러너로 사용합니까?

    그렇지 않은 경우 CI 컴퓨터에서 동일한 테스트 러너를 사용해보고 문제가 해결되는지 확인하십시오. 노력할 가치가 있습니다.

    +0

    로컬 컴퓨터에서 SpecFlow와 SpecRun을 모두 실행 해 보았습니다. 테스트는 SpecFlow와 함께 전달되지만 클릭이 작동하지 않기 때문에 SpecRun과 함께 전달되지 않습니다. 아직 CI 시스템에서 SpecFlow를 시도하지 않았습니다. 내가 가능한 모든 기계 관련 문제를 제거하기 위해이 두 가지 작업을해야한다고 생각했습니다. –

    0

    모든 테스트를 무인 모드로 실행하려는 경우, CI를 통해 테스트를 시작한다고 가정합니다. 이 시나리오에서 IE가 더 잘 작동하도록하려면 다른 기능을 추가 할 수 있습니다.

    capability.setCapability(InternetExplorerDriver.REQUIRE_WINDOW_FOCUS,true); 
    

    이것은 자동화 표준에 대한 것이지만 IE는 포커스를 얻으면 매우 잘 작동합니다.