私はWatirを使用してアプリケーションにログインしたり、いくつかのボタンを押したりしています...基本的には人がWatirを使用する通常のものです。
ただし、私の問題は、テストする必要のある特定のページが1つあることです。これは実際には動的に生成されたPDFであり、使用している特定のgemを使用してロードできるように、実際のバイナリデータを取得する必要があります。これは通常、静的PDFファイルで機能します。これは、次のものを使用できるためです。
open("http://site.com/something.pdf")
これは静的PDFで機能します。ただし、動的に生成されたものの場合、Rubyを使用してHTTPリクエストを送信しており、Watirが使用しているヘッダー/ Cookie /セッションを認識していないため、機能しません。したがって、実際のPDFを取得する代わりに、ログインページを取得します。
私たちが試したもう1つのことは、Watirを使用してPDFを取得することでした。
@browser.goto "http://site.com/dynamic/thepdffile"
@browser.text
@browser.html
ページからテキストまたはhtmlを取得しようとしましたが、FirefoxがPDFの読み込み時にDOMを作成するため、テキストは空の文字列であり、htmlはFirefoxがPDFページを表示するときに作成するDOMであるため、うまくいきませんでした。生のHTTP応答が必要ですが、それを抽出する方法はないようです。
したがって、これに対する解決策が必要であり、私の意見では、次のオプションがあります。
- Watirのセッションを使用して、Rubyで「open」または同様の方法を使用する方法を見つけます。
- watirを使用してPDFページからバイナリhttp応答を取得する方法を理解してください。
- 「名前を付けて保存」ダイアログが表示されるように、pdfプラグインを無効にします(これは不可能と思われます)。
または、他のアイデアがある場合は共有してください!前もって感謝します!