2011-07-26 3 views
3

우리는 젠킨스가 Windows (XP 및/또는 Windows 7) VM에 셀레늄 테스트의 테스트 스위트를 실행과 CI 환경을 가지고있다. RDP를 통해 이러한 테스트를 실행하는 VM에 물리적으로 로그인하지 않은 경우 검은 색 (공백) PNG 만 보입니다. 나는 여러 가지 Selenium RC 2ish 릴리즈 (예 : 2.0b2, 2.0rc3, 2.0.0, 2.1.0)에 대해 '캡처'방법 (Base 64 인코딩과 파일 기반 모두 가능)을 시도했으며 내가 시도한 모든 것. 다른 누구도 Windows CI 배포에서 Selenium을 실행 중이며 화면을 캡처 할 수 있습니까? 또는 더 나은 진술, 윈도우에서 스크린을 캡처 할 수있는 방법을 밝히고, 물리적으로 상자에 있어야 할 필요없이 Selenium API를 사용할 수 있습니까? "Windows에서 Jenkins로 Selenium 테스트를 실행하는 중에 실제로 시스템에 로그인하지 않은 경우 스크린 샷을 캡처하는 방법은 무엇입니까?

+0

을 사용하고 있습니까? 개미? 또는 Maven? –

+0

테스트가 실패한 경우에만 화면 캡쳐가 발생합니까? 어떻게 모든 페이지의 스크린 샷을 얻을 수/클릭이 자동화 된 테스트 주어진 빌드 시스템 (Gradle을/메이븐/ANT)를 사용하고 Xvfb가 뒤에 테스트 프레임 워크로 셀레늄을 사용하여 수행 할 수 있습니다 : XX 가상 프레임 버퍼를? –

답변

3

상자에 로그온하지 않았거나 닫히거나 최소화 한 경우 RDP 연결, 아니 바탕 화면이없고, 화면 캡처는 비어 있습니다.

문제의 기계/VM이 보이는 데스크톱 세션을 가질 수 있도록, VNC 서버/뷰어를 사용하기 만하면 무엇.

+2

+1 Windows의 화면 잠금 기능을 해제해야합니다. –

+1

Selenium 서버를 사용자 대신 서비스로 실행하는 것이 더 좋습니다. –

+2

수행하려는 작업에 따라 서비스로 실행되지 않을 수 있습니다. 서비스를 실행하는 계정의 종류에 따라 절충안이 있습니다. Se 서비스가 로컬 시스템 계정으로 실행되는 경우 서비스가 데스크톱과 상호 작용할 수 있도록 옵션을 선택할 수 있습니다. 그러나 Se 테스트/프레임 워크가 네트워크에 액세스해야하고 도메인 사용자로 실행되도록 Se 서비스를 설정하면 '서비스가 데스크톱과 상호 작용하도록 허용'옵션을 사용할 수 없습니다. –

0

우리는 그 일을하고, 그것은. 우리는 Java Service Launcher를 사용하여 Windows Server 2003에 우리는 Windows 서비스로 셀레늄 RC 서버를 실행에서 실행하는 대신 젠킨스의 JetBrains의 '인 TeamCity를 사용하는 우리를 위해 작동합니다.

+0

그래, 어떤 버전의 RC를 사용하고 있습니까? 따라서이 상자는 이미지를 캡처 할 때 "헤드리스"브라우저 세션을 실행합니다. 어떤 브라우저? 조금 더 많은 정보가 많이 감사 할 것입니다. – Dave

+0

우리는 셀레늄 RC 1.0.1를 사용하고 있지만, 셀레늄 2.x에서 오랫동안 RC 훨씬 실제 변화가되지 않았기 때문에, 그냥 같은 일을해야한다. Selenium이 필요로하는 SnapsIE 확장 (https://github.com/nirvdrum/SnapsIE)을 설치하면 Firefox 및 Internet Explorer에서 작동합니다. Windows는 항상 머리가 있다고 생각하기 때문에 세션은 실제로 "헤드리스"가 아니지만 EC2 기반의 빌드 에이전트를 사용하므로 화면이 없습니다 :-) –

+0

여러 구성을 사용하여이 작업을 시도했지만 Selenium2.x에서 작동하지 않았습니다. "데스크톱과 상호 작용"하는 시스템 계정과 내 도메인 계정으로 시도했습니다. JSL에 사용했던 ini 파일을 게시 할 수 있습니까? –

2

것은 또한 매우 비슷한 일을하고 있습니다. 우리는 Hudson과 Selenium Grid를 실행중인 Windows VM 설정이 있습니다.
테스트 케이스가 실패하면 우리는 브라우저의 스크린 샷을 캡처하므로 테스트 케이스가 실패한 이유에 대해 자세히 설명합니다.
우리는 #captureEntirePageScreenshotToString 방법은 테스트 스위트를 만들기 위해 사용하는 어떤

+0

자, 환경에 대해 나와 공유해 주시겠습니까? (예 : Windoze의 풍미, Selenium 서버 버전, Selenium 서버 시작 방법 (개미를 통한 Hudson의 서비스, 기타?) 우리는 그리드를 실행하지 않기 때문에 캡처중인 비주얼 컨텍스트가 RC를 배치 한 곳입니다. 나는 얼마나 많은 RC에 대해 듣고, 그 클라이언트가 무엇을 실행하고 있는지에 관심이있을 것이다 .... thx! – Dave

+0

WINTEL 2003 상자에서 Selenium Grid 1.0.8을 실행하고 있습니다. Ant 명령을 사용하여 명령 줄을 통해 시작되는 4 개의 Selenium 서버로 실행되는 그리드가 있습니다. 그리드를 시작한 사용자는 스크린 샷을 캡처 할 수있는 데스크톱 환경이 항상 존재하도록 항상 로그인 상태를 유지합니다. TestNG에 테스트가 설정되었습니다. –

+0

나는 captureScreenshot을 사용하고 빈 화면을 얻었습니다. captureEntirePageScreenshot으로 전환하면 문제가 해결되었습니다. 그래서 나는이 솔루션을 "captureEntirePageScreenshot 사용"으로 수정하면 가장 좋은 대답이 될 것이라고 생각합니다. –

관련 문제