0

WebDriver を使用して Web サイトを自動化していますが、ファイルのダウンロードのニーズは、グーグルで見つけたものとは少し異なります。

注文を作成する Web サイトがあります。「注文する」ボタンをクリックすると、印刷注文ページにリダイレクトされます。私にとっての「便利さ」として、このページは、本体のオンロードで自動的にダウンロード操作を開始します。つまり、[注文する] ボタンをクリックすると、新しいページに移動し、すぐにファイル ダウンロード ダイアログが表示され、ダウンロードできるようになります。生成された pdf が表示され、ブラウザがブロックされます。

私が見つけた/考えた解決策と、それらを使用できなかった理由は次のとおりです。

  1. ファイルをサイレント モードでダウンロードするように Firefox/Chrome プロファイルを構成します。ダウンロードにかかる時間を計測する必要があるため、これを使用できません。

  2. ダウンロードを防止する関数で window.open をオーバーライドし、URL を取得して wget でダウンロードできるようにします。次のページの onload 関数からファイルのダウンロードが開始されるため、このページで実行した javascript が失われるため、これを使用することはできません。

  3. onload 関数をキャンセルするか、onload 関数の前にコードを実行してみてください。webdriver でこれを行う方法が見つかりません。

  4. wget で印刷ページをダウンロードし、html を変更して onload ハンドラを変更し、変更した html をセレンに戻します。<head> および <body> タグと URL を含むページ全体を置き換える方法が見つかりません。

残念ながら、私は QA を担当しており、開発に関してそのような影響力を持っていないため、この Web サイトのソース コードを変更することはできません。このファイルを自動的にダウンロードして時間を計る方法について誰かアイデアはありますか?

ありがとう。

4

1 に答える 1

0

私には2つのオプションがあるようです。

  1. ポップアップを受け取ったら、AUTOIT スクリプトを使用してファイルをダウンロードします。これにより、ページを開く機能とダウンロードの機能がテストされます。
  2. http get を使用してファイルをダウンロードします。これにより、ページが読み込まれることをテストできませんが、ファイルが存在することは引き続き確認されます。

上記の他のテストは複雑すぎるようです。

于 2012-08-21T21:51:21.887 に答える