내가 사용, XP의 경우, 전용 윈도우 서버, 웹 애플리케이션의 UI 테스트를위한 전용 윈도우 XP 데스크탑 PC를 내 가상 (젠)을 설정 승리하기 위해 노력하고있어 셀레늄을 통해 빈 스크린 샷을 전송 -rc와 pear의 selenium PHP API (테스트를 실행하는 PHP 스크립트는 원격 제어 Windows와 동일한 로컬 네트워크에있는 애플리케이션 서버에 위치 함).는 셀레늄 RC는 (WINXP/winserver)
셀레늄 RC에서 스크린 샷을 얻을 수 없다는 것을 제외하고 모든 것이 훌륭했습니다. 그들은 공백입니다. base64_decode(); 이후에 모두 (회색)입니다. (그것없이, 그들은 열지도 않는다). OS X의 미리보기가 회색로 표시에도 불구하고
, 나는 그들이 실제로 투명 또는 Photoshop 실 거예요 전혀를 열 때문에 다른 손상의 일종 확신합니다. (그리고 무게는 0.7k입니다.) 유닉스의 "파일"명령은 "PNG 이미지, 1440 x 900, 8 비트/컬러 RGB, 비 인터레이스"로 정확하게 인식합니다. - 1440 x 900은 내 Mac의 해상도입니다. 원격 데스크톱을 통해 Windows 시스템.
내가 아닌 서비스로, (즉, 자바 -jar 셀레늄 server.jar) 직접 셀레늄 RC를 실행하고 있습니다. 증상은 모든 윈도우 테스트 시스템에서 동일합니다. 나는 최신 Testing_Selenium 배 패키지를 사용하고
$this->selenium->windowMaximize(); $screenshot = $this->selenium->captureScreenshotToString();
:
내 셀레늄 버전은 여기에 스크린 샷을 얻기 위해 시도하는 조각이야, 1.0.1입니다. 나는 유사한 문제를 다루는 여기에 질문이 실현,하지만 난이 서비스 래퍼를 사용하지 않는도 (당신이 실수라고 생각하지만 만약 알려 않음) 내가 이러한 복잡성을 소개
감사 &을 감당할 수 감사합니다 안드라스
추신 : 내가 어떤 imput를 얻기 위해 필사적 인 시도에 여러 포럼이 교차 게시하도록하겠습니다 - 사과를하는 당신을 당황하게하는 경우를 :-)
편집 : 셀레늄 RC 콘솔은
말한다 16 : 38 : 24.562 정보 - 결과 : [base64 ko 세션에 코딩 PNG는] a5304a287eb24402 8c8c843b294bf98f java.net.SocketException의 : 소프트웨어 때문에 연결이 중단되었습니다 : 소켓 쓰기 오류 을 java.net.SocketOutputStream.socketWrite0 (기본 방법) 에서 java.net.SocketOutputStream.socketWrite (알 수없는 소스) 에서 org.mortbay.http.BufferedOutputStream.write에서 org.mortbay.http.ChunkingOutputStream.bypassWrite에서 java.net.SocketOutputStream.write (알 소스) (ChunkingOutputStrea m.java:151) (BufferedOutputStream.java 에서 142) at org.mortbay.http.HttpOutputStream.write (HttpOutputStream.java:423) at org.mortbay.http.HttpOutputStream.write (HttpOutputStream.java:414)org.openqa.selenium.server.SeleniumDriverResourceHandler.handle에서 org.openqa.selenium.server.SeleniumDriverResourceHandler.handleComman dRequest (SeleniumDriverResourceHandler.java:370) (Selen iumDriverResourceHandler.java:125) org.mortbay에서 에서 1,363,210. htpContext.handle (HttpContext.java:1530) at org.mortbay.http.HttpContext.handle (HttpContext.java:1482) at org.mortbay.http.HttpServer.service (HttpServer.java:909) at org.mortbay.http.HttpConnection.service (HttpConnection.java:820) org.mortbay.http.HttpConnection.handleNext (HttpConnection.java:986) org.mortbay.http에서 에서 .HttpConnection.handle (HttpConnection.java:837) org.mortbay.http.SocketListener.handleConnection (SocketListener.java : 245)에서 org.mortbay.util.ThreadedServer.handle (ThreadedServer.java:357) 에서 에서 조직 모든 화면 캡처에 대해 .mortbay.util.ThreadPool $ PoolThread.run (ThreadPool.java:534)
.
패트릭, 도와 줘서 고마워. 나는 실제로 테스트가 실행될 때 RDP를 통해 원격 시스템에 연결됩니다. 따라서 1440x900 해상도의 빈 png가 가능합니다. 셀레늄 RC 콘솔에서도이 사실을 알게되었습니다 : {로그가있는 원래 질문 업데이트} – pgn
이렇게 응답을 잘라내는 PHP API로 밝혀졌습니다. (http://jira.openqa.org/browse/SRC-699 참조) Windows 시스템에서 VNC를 사용하여 환경을 설정하는 방법은 완벽하게 유효한 해결책입니다. 패치가있는 상태에서 테스트 할 시간이 있다면 PHP Selenium_Testing 패키지 - 존재하지 않는 데스크탑의 스크린 샷을 찍으려고해도 빈 이미지가 생길 것입니다. 감사. – pgn