2013-03-06 3 views
1

언어와 새 브라우저 창에서 열립니다 PDF 파일에 액세스 콘텐츠가 표시됩니다. PDF에 저장 및 취소 버튼이있는 양식이 표시됩니다. 새 창에 표시된 요소에 방화 광을 사용하는 요소 식별자가 없습니다. 어떻게하면 드라이버가 pdf의 필드를 식별하고 거기에 뭔가를 입력하고 저장 버튼을 클릭하도록 지시하는 스크립트를 작성할 수 있습니다. enter image description here셀레늄 및 JAVA

답변

0

대부분의 경우 PDF가 브라우저에 포함되고 pdf의 필드가 HTML 구성 요소가 아니기 때문에 webdriver를 사용하여 PDF의 필드를 식별 할 수 있는지 확실하지 않습니다. AutoIt 스크립팅을 사용하여 호스트 프로그램 (이 경우 Java 프로그램)에서이 스크립트를 호출하면 체크 아웃 할 수 있습니다. 나는 AutoIt for pdf를 사용하려고 시도하지는 않았지만 그것을 다른 목적으로 사용했고 배우고 사용하는 것이 어렵지 않다는 것을 발견했다.

당신은 다음과 같이 자바 프로그램에서 AutoIt을 실행 파일 호출 할 수 있습니다 : 당신이 다른 플랫폼에 webdriver 스크립트를 실행하려는 경우 Runtime.getRuntime().exec("checkPDF.exe");

를가 실행이기 때문에, 당신은 이식성 문제가있을 수 있습니다.

0

셀렌으로는 작동하지 않을 것입니다. PDF는 일반적으로 네이티브 데스크톱 응용 프로그램/브라우저 플러그인을 사용하여 표시되며 Selenium이 일반적으로 처리 할 수있는 것은 아닙니다. BTW : PDF 형식으로 테스트 할 대상은 무엇입니까? 나에게 무의미한 것 같습니다 (첫눈에).

할 수있는 일은 : AWT를 사용하여 데스크탑 스크린 샷 찍기. 또한 네이티브 데스크톱 메서드를 사용하여 마우스 클릭과 키 누르기를 시뮬레이션 할 수 있어야합니다. 하지만 PDF가 변경 될 때마다 클릭 좌표를 기록하고 다시 기록해야 할 수 있으므로 좋지 않습니다.

은 아마 관련 : Interacting with a PDF popup in Selenium

+0

은 실제로 당신이 그것을 볼과 같이 PDF 계정에 변경을하고, 나는 그것이 셀레늄 – Srivastava

+0

를 사용하여 확인해야 편집 포스트 수행의 또 다른 시나리오는 프로그래밍 방식으로 PDF를 만들 무의미하지의 ? 서버 측에서 양식 필드 값을 어떻게 얻습니까? 나는 특히 PDF를 렌더링 할 때 클라이언트 측에서 추가 프로그램을 설치해야하는 이유 때문에 PDF를 웹 형식으로 사용하고자하는 이유에 대해 조금 우둔합니다. – user1050755

+0

테스트 링크를 클릭하는 동안 새 창이 열렸는지 적어도 확인할 수 있습니까? 스위치 창 옵션으로 시도했지만 운이 없다 ... 어떤 단서? 나는 PDF 컨텐트의 유효성을 검사하거나 검색하기를 원한다. 버튼 클릭으로 새 창이 열리도록하고 싶다. 그것이 가능하다라고하는 희망! !!! – zeal