Watir을 사용하여 응용 프로그램에 로그인하고 일부 버튼을 누르는 등의 작업을 수행합니다. 기본적으로 Watir을 사용하는 일반적인 작업입니다.Ruby Watir의 동적 PDF 읽기
그러나 내 문제는 테스트해야하는 특정 페이지가 있다는 것입니다. 실제로 동적으로 생성 된 PDF이고, 실제 바이너리 데이터를 가져와 사용해야하므로 사용중인 특정 보석을 사용하여로드 할 수 있습니다. 이것은 보통 정적 PDF 파일에서 사용할 수 있습니다.
open("http://site.com/something.pdf")
정적 PDF에서 작동합니다. 그러나 우리가 Ruby를 사용하여 HTTP 요청을 보내고 Watir이 사용하는 헤더/쿠키/세션을 인식하지 못하기 때문에 동적으로 생성 된 메시지에 대해서는 작동하지 않습니다. 그래서 실제 PDF를받는 대신 로그인 페이지를 얻습니다.
우리가 PDF 얻을 Watir과를 사용하는 것이었다 시도 또 한가지 : 파이어 폭스 텍스트 그래서 PDF 파일을 로딩 DOM을 생성하기 때문에
@browser.goto "http://site.com/dynamic/thepdffile"
@browser.text
@browser.html
우리는 페이지에서 텍스트 나 HTML을 받고 시도하지만, 행운을 빈 문자열이고 html은 PDF 페이지를 볼 때 firefox가 생성 한 DOM입니다. 원시 HTTP 응답이 필요하며이를 추출 할 방법이없는 것 같습니다. Watir과의 세션을 사용하여,
- 그림 밖으로 루비에서 사용하는 "열기"하는 방법 또는 이와 유사한 방법 : 그래서 우리는 우리가이 옵션을 가지고 이것에 대한 내 의견에 솔루션이 필요합니다.
- watir을 사용하여 PDF 페이지에서 바이너리 http 응답을 얻는 방법을 알아 봅니다.
- "다른 이름으로 저장"대화 상자가 나타나도록 pdf 플러그인을 비활성화하십시오 (불가능한 것 같습니다).
다른 아이디어가 있다면 공유하십시오! 미리 감사드립니다!
나는 pdf 플러그인을 비활성화하는 것이 좋습니다. http://stackoverflow.com/questions/9636255/how-to-run-chrome-firefox-with-disabled-flash-plugin-from-watir-script –
참조하십시오. 너무 좋은 옵션입니다. 그래서, 이것을하기 위해 어떤 옵션을 사용해야합니까? Firefox를 사용해야하고 참조 된 링크는 firefox 용 플러그인을 비활성화하는 예를 보여주지 않습니다. –
Firefox에서 * tools> add-ons> plugins *으로 이동하여 pdf 플러그인을 비활성화하십시오. 그런 다음 firefox를'browser = Watir :: Browser.new : firefox, : profile => "default"' –